![](/img/trans.png)
[英]I need to implementation click listener class on item in recycle view when using adapter and array list
[英]Android: On Item Click Listener for List View Base Adapter implementation
有人可以給我提供一個示例的單擊項偵聽器的示例,該偵聽器用於帶有基本適配器的列表視圖嗎?
我的列表視圖包含兩個文本視圖和一個復選框。 我想創建一個項目單擊偵聽器,以便在按下一個項目(或行)時,它勾選相應的行復選框。
我嘗試使用Google,但找不到任何示例
謝謝
因此,適配器並不重要,但是我相信您要嘗試的操作非常簡單,首先您需要獲得ListView
引用,我將其稱為listView
設置適配器后,您可以使用setOnItemClickListener
創建點擊操作,
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public boolean onItemClick(AdapterView<?> parent, View view, int position, long id) {
//here you can use the position to determine what checkbox to check
//this assumes that you have an array of your checkboxes as well. called checkbox
checkBox[position].setChecked(!checkBox.isChecked());
}
});
實際上,這很簡單,在執行操作“ setAdapter”之后,您必須執行以下操作:
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), "You click on position:"+position, Toast.LENGTH_SHORT).show();
}
});
下面的代碼正常工作:
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id) {
Toast.makeText(getApplicationContext(),
"You click on position:"+position, Toast.LENGTH_SHORT).show();
}
});
但是,當我單擊items
它將轉到其他活動。 我該怎么辦?
您可以使用OnItemClick()方法的View參數訪問listview行的所有元素。 例如
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id) {
// second parameter View view entire row object that is clicked - in your case
// two text views and the checkbox
// supposing your checkbox is set up with an id in the xml as idchkbox
// You can access it by findview by id and set it true or false;
android.widget.CheckBox chkbox = view.findViewbyId(R.id.idchkbox);
chkbox.setChecked = true;
return;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.