我想創建一個帶CheckBox的ListView ... Th ListView應該允許用戶選擇一個項目或打開該項目來選擇其中的其他選擇。換句話說,ListView應該能夠區分複選框的點擊和項目本身的點擊。Android ListView與CheckBox可以區分點擊
我試圖使用android.R.layout.simple_list_item_multiple_choice實現它,但是這個允許我只勾選複選框,即使我在複選框外(在該項上)單擊。
任何人都可以提供幫助嗎?
這裏是我的代碼,
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class ListViewActivity extends Activity implements OnItemClickListener {
ListView directoryList;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ArrayList<String> contacts = new ArrayList<String>();
contacts.add("zaid");
contacts.add("hazem");
contacts.add("Oubai");
directoryList= (ListView) findViewById(R.id.directoryList);
final ArrayAdapter<String> arrayAdapter;
arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,
contacts);
directoryList.setAdapter(arrayAdapter);
directoryList.setOnItemClickListener(this);
directoryList.setClickable(true);
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
}
}
我也有類似的問題,我在適配器本身解決IY與OnClickListener。不是最乾淨的方式,但它的工作 – znat 2012-04-07 15:01:06
好吧,你能告訴我你是如何在代碼中做到這一點?感謝 – 2012-04-07 15:04:34
shubhayu的答案提供了一個更好的例子 – znat 2012-04-07 15:19:26