RelativeLayout Eclipse 上按钮的设置可见性问题

Posted

技术标签:

【中文标题】RelativeLayout Eclipse 上按钮的设置可见性问题【英文标题】:Problems with setvisibility for button on RelativeLayout Eclipse 【发布时间】:2015-09-25 22:34:48 【问题描述】:

Hy....我正在 Eclipse 上做一个简单的项目。我正在使用如下所示的相对布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_ 
    android:gravity="center"   
    tools:context=".ProfileActivity" 
    >

<Button 
        android:id="@+id/Prof_edit_btn"
        android:layout_below="@+id/Prof_LL"
        android:layout_
        android:layout_            
        android:text="Edit"
        android:layout_marginTop="17dp"
        android:layout_centerHorizontal="true"
        />

    <LinearLayout 
        android:layout_below="@+id/Prof_LL"
        android:layout_
        android:layout_ 
        android:orientation="horizontal"
        android:layout_centerHorizontal="true"

        >
    <Button 
        android:id="@+id/Prof_save_btn"
        android:layout_below="@+id/Prof_LL"
        android:layout_
        android:layout_            
        android:text="save"
        android:layout_marginTop="17dp"
        android:layout_centerHorizontal="true"
        android:visibility="invisible"
        android:clickable="false"
        />
    <Button 
        android:id="@+id/Prof_batal_btn"            
        android:layout_
        android:layout_
        android:layout_centerHorizontal="true"
        android:text="Batal"
        android:layout_marginTop="17dp"            
        android:visibility="invisible"
        android:clickable="false"
        />
</LinearLayout>

</RelativeLayout>

在主要活动中,我为编辑和保存按钮制作了一个简单的 onClicklistener,如下所示:

mEdit = (Button)findViewById(R.id.Prof_edit_btn);
mEdit.setOnClickListener(new View.OnClickListener()                
            @Override
            public void onClick(View arg0) 
                // TODO Auto-generated method stub                  
                    mBatal.setVisibility(View.VISIBLE);
                    mBatal.setClickable(true);
                    mSave.setVisibility(View.VISIBLE);
                    mSave.setClickable(true);
                    mEdit.setVisibility(View.INVISIBLE);                    
            
        );

mSave = (Button)findViewById(R.id.Prof_save_btn);
mSave.setOnClickListener(new View.OnClickListener()                
            @Override
            public void onClick(View v) 
                // TODO Auto-generated method stub
                mEdit.setVisibility(View.VISIBLE);  
                mBatal.setVisibility(View.INVISIBLE);
                mSave.setVisibility(View.INVISIBLE);
                Toast.makeText(getApplicationContext(), "Data Anda berhasil disimpan", Toast.LENGTH_SHORT).show();                  
            
        );

嗯...正如我们从我的布局 xml 中看到的那样,开始时只有 EDIT 按钮可见,然后根据 EDIT 的 setonclick 侦听器中的代码程序,当用户单击 EDIT 时,将显示 SAVE 和 BATAL 按钮按钮。并且一旦单击 EDIT 按钮,它将不可见....这里的问题是当我单击 EDIT 按钮时,只有 SAVE 按钮可见,而当单击 SAVE 按钮时,BATAL 按钮将可见,这是我的另一个问题现在面临的是编辑按钮在我单击它时根本不可见....所以..任何人都可以帮助我解决这个问题...??? :'(

提前谢谢....

【问题讨论】:

mBatal 按钮在哪里找到 ID? 我还没有添加它... :-) 但是...该按钮将具有与 mSave 按钮几乎相同的 clicklistener... :-) 【参考方案1】:

Naaah...我找到了自己的解决方案...只需将 SAVE btn 和 BATAL btn 的可见性设置为 GONE...就完成了... :-)

<Button 
            android:id="@+id/Prof_save_btn"
            android:layout_below="@+id/Prof_LL"
            android:layout_
            android:layout_            
            android:text="save"
            android:layout_marginTop="17dp"
            android:layout_centerHorizontal="true"
            android:visibility="gone"<-----------=
            android:clickable="false"
            />
        <Button 
            android:id="@+id/Prof_batal_btn"            
            android:layout_
            android:layout_
            android:layout_centerHorizontal="true"
            android:text="Batal"
            android:layout_marginTop="17dp"            
            android:visibility="gone"<-----------=
            android:clickable="false"
            />

【讨论】:

哦...是啊...我忘了删除那个...呵呵呵呵..谢谢haint... :-)

以上是关于RelativeLayout Eclipse 上按钮的设置可见性问题的主要内容,如果未能解决你的问题,请参考以下文章

Android中RelativeLayout和LinearLayout性能分析

Eclipse Scout Neon 使用 Tab 键添加新行

在 Eclipse 中模拟 Netbeans 行为

跳转到 Eclipse IDE 中的接口实现

JAVA Eclipse如何开发Android的多页面程序

用eclipse开发android时两个文本组件总是重叠的,怎么解决