java - android 隐藏布局复选框被选中

标签 java android android-layout android-checkbox

如果单击复选框,我试图简单地隐藏线性布局。我已经定义了函数,onClick 属性调用它,它也用 toast 进行了测试,但是当我尝试隐藏布局时,它不会执行任何操作。

layout.xml:

<CheckBox
        android:id="@+id/cbguest"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.9"
        android:onClick="itemClicked"
         />

在MainActivity.java中

int[] i = {0};
public void itemClicked(View v) {
    LinearLayout layoutguest1 = (LinearLayout) findViewById(R.id.guestlayout);

    if (lns[0]%2 == 0) {
        Toast.makeText(getApplicationContext(),"Visible", Toast.LENGTH_SHORT).show();
        layoutguest1.setVisibility(View.VISIBLE);
        lns[0]+=1;
    }
    if (lns[0]%2 != 0) {
        layoutguest1.setVisibility(View.GONE);
        Toast.makeText(getApplicationContext(),"Gone", Toast.LENGTH_SHORT).show();
        lns[0]+=1;
    }

}

最佳答案

**activity_main.xml
put this code in activity_main.xml file**
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.demo.MainActivity" >

<LinearLayout
    android:id="@+id/layoutLogin"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="UserName" />

        <EditText
            android:layout_width="200dp"
            android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Password" />

        <EditText
            android:layout_width="200dp"
            android:layout_height="wrap_content" />
    </LinearLayout>
</LinearLayout>

<CheckBox
    android:id="@+id/chkBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Hide" />

</RelativeLayout>


**MainActivity.java
put this code in MainActivity.java file**

public class MainActivity extends Activity {

private LinearLayout layoutLogin;
private CheckBox chkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    chkBox = (CheckBox) findViewById(R.id.chkBox);
    layoutLogin = (LinearLayout) findViewById(R.id.layoutLogin);

    chkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,
 boolean         isChecked) 
        {
            // TODO Auto-generated method stub
            if(isChecked)
            {
                layoutLogin.setVisibility(View.GONE);
                chkBox.setText("UnHide");
            }
            else
            {
                layoutLogin.setVisibility(View.VISIBLE);
                chkBox.setText("Hide");
            }
        }
    });
}

}

关于java - android 隐藏布局复选框被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898664/

相关文章:

java - jhipster,Java端的管理员角色识别

java - 使用 PHP 将 Android 数据添加到 MySQL

android - 用于android的简单udp服务器并获取多条消息

java - 批量插入不插入

java - JVM 应该已经退出但没有

java - 从 Action 监听器中开始游戏

android - 在 Android 中为 CheckedTextView 定义可绘制的选中和按下状态

android - 如何更改 PreferenceScreen 中的字体大小

Eclipse 中的 Android AVD 模拟器显示黑屏和 "android"

Java类包含批处理作业的业务逻辑