2013-04-15 43 views
4

我使用的是CheckBox和TextView的在我的应用程序时,如何启用复选框(我; M使用复选框和TextView中之间的图像视图,所以我不能使用复选框文本)。如果单击相应的TextView,我想启用/禁用我的复选框。任何人都请帮助我。相关的TextView被点击

+0

你的意思是,你要被点击时整(假定)的LinearLayout您的复选框被_checked/unchecked_? - 无论如何,请提供一些代码。 –

+3

您可以设置checkbox.When用户点击的可视性TextView的设置复选框的知名度,真实的。我想你想这一点。 – AndiM

回答

0

我认为它容易。实现您的TextView点击监听器和检查,并取消您的复选框,在onClickListener ..

3

就试试这个:

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:orientation="vertical" 
      android:layout_height="match_parent" 
      > 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="First text box" 
    android:id="@+id/tb_1" 
    /> 
<CheckBox 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_margin="10dp" 
     android:id="@+id/cb_1" 
     /> 

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Second text box" 
     android:id="@+id/tb_2" 
     android:layout_marginTop="50dp" 
     /> 
<CheckBox 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_margin="10dp" 
     android:id="@+id/cb_2" 
     /> 
    </LinearLayout> 

MyActivity.java

public class MyActivity extends Activity implements View.OnClickListener { 

private TextView tv1; 
private CheckBox cb1; 
private TextView tv2; 
private CheckBox cb2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
    tv1 = (TextView)findViewById(R.id.tb_1); 
    tv2 = (TextView)findViewById(R.id.tb_2); 

    cb1 = (CheckBox)findViewById(R.id.cb_1); 
    cb2 = (CheckBox)findViewById(R.id.cb_2); 

    tv1.setOnClickListener(this); 
    tv2.setOnClickListener(this); 
    } 


@Override 
public void onClick(View v) { 
    switch (v.getId()) 
    { 
     case (R.id.tb_1): 
     { 
      cb1.setChecked(!cb1.isChecked()); 
      break; 
     } 
     case (R.id.tb_2): 
     { 
      cb2.setChecked(!cb2.isChecked()); 
      break; 
     } 
    } 
} 
} 

当你点击的TextView一个你刚才设置的电流值setChecked嵌套CheckBox(一个或多个) 。这就是你所需要的。 希望它的帮助。

enter image description here