单击列表以启用文本框

时间:2015-03-22 13:30:57

标签: android

我正在开发一个Android应用程序。我想知道如何在单击列表项时启用复选框。

这是我的主要活动的一部分,配对设备显示为列表:

public void list(View view){
      pairedDevices = BA.getBondedDevices();

      ArrayList list = new ArrayList();
      for(BluetoothDevice bt : pairedDevices)
         list.add(bt.getName());

      Toast.makeText(getApplicationContext(),"Showing Paired Devices",
      Toast.LENGTH_SHORT).show();
      final ArrayAdapter adapter = new ArrayAdapter
      (this,android.R.layout.simple_list_item_1, list);
      lv.setAdapter(adapter);


   }

这是我的xml:

<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"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <ScrollView
      android:id="@+id/scrollView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentTop="true" >

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical" >

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/app_name"
      android:textAppearance="?android:attr/textAppearanceLarge" />

   <Button
       android:id="@+id/button1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:onClick="on"
       android:text="@string/on" />

   <Button
       android:id="@+id/button2"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:onClick="visible"
       android:text="@string/Visible" />

   <Button
       android:id="@+id/button3"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:onClick="list"
       android:text="@string/List" />

   <Button
       android:id="@+id/button4"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:onClick="off"
       android:text="@string/off" />

   <ListView
      android:id="@+id/listView1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:visibility="visible" >

   </ListView>
 <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Block Call"
        android:id="@+id/chkBox"
        android:layout_marginTop="139dp"
        android:layout_alignTop="@+id/listView"
        android:layout_centerHorizontal="true" />


   </LinearLayout>
</ScrollView>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

你的意思是

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
        CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox_id);
        checkBox.setChecked(true);
    }
});

这就是你想要的吗?

答案 1 :(得分:0)

您可以启用或显示setOnItemClickListener中的复选框。像这样的东西:

 ListView listView = getListView();
       listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                // enable or show hidden checkbox here
            }
        });