如何在列表视图项中添加CheckBox?

时间:2011-10-21 05:40:20

标签: android listview

在我的应用程序中,我在一个活动中使用两个列表视图,一个仅用于项目,一个列表视图我在每行中都添加了复选框。 我的要求是在下面的列表视图中,如果项目被选中,我必须在主要活动的文本视图中显示,如果不必显示另一个活动。

我没有使用ListActivity这个我刚从Activity创建的

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout 
    android:orientation="vertical"
    android:layout_weight="0.5"
    android:layout_width="fill_parent"
    android:layout_height="60px">                
    <ListView 
        android:id="@+id/list1"
        android:layout_width="fill_parent"
        android:layout_weight="0.5"
        android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout 
    android:orientation="vertical"
    android:layout_weight="0.5"
    android:layout_width="fill_parent"
    android:layout_height="60px">

    <ListView android:id="@+id/list2"
        android:layout_width="fill_parent"
        android:layout_weight="0.5"
        android:layout_height="wrap_content" />
</LinearLayout>    

以上列表视图上方列表视图的项目我必须添加复选框。我怎样才能做到这一点。

我的活动是......

public  class Settings extends Activity   {    
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.settings); 

   ListView list1 = (ListView) findViewById(R.id.list1);
   ListView list2 = (ListView) findViewById(R.id.list2);

   list2.setAdapter(new ArrayAdapter(this,      
     android.R.layout.simple_expandable_list_item_1, Display));

   list2.setTextFilterEnabled(true);
   list2.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View v,int position, long id) {

      }
 });    
   list1.setAdapter(new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, Categories));

   list1.setTextFilterEnabled(true);
   list1.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View v,int position, long id) {

      }
 });                
}
    static final String[] Categories = new String[] {
    "Alarm1","Alarm2","Alarm3","Alarm4","Alarm5"
    };
    static final String[] Display = new String[] {
    "24 Hours","Display Seconds"
    };   
 }

2 个答案:

答案 0 :(得分:2)

@Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null)
                convertView = mInflater.inflate(R.layout.provider, null);
            TextView location = (TextView) convertView
                    .findViewById(R.id.description);
            checkBoxImage = (ImageView) convertView.findViewById(R.id.check_id);
            Provider p = (Provider) getItem(position);
            location.setText(p.Description + " - " + p.Location);
            return convertView;
        }

答案 1 :(得分:2)

here是完整教程,如何在列表中包含CheckBox。关于ListView&amp;的最佳教程ListActivity