我有一個在每行中都有文本和按鈕的列表視圖,列表視圖setOnItemClickListener()不起作用。是否可以以不同的方式處理項目單擊和按鈕單擊事件(項目單擊應調(diào)用ActivityA,按鈕單擊應調(diào)用ActivityB)。有沒有人有辦法解決嗎 private ArrayList<String> userIDArr = null; private ArrayList<String> userNameArr = null; private DatabaseHelper dbHelper = null; private ListView userListView=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list_view); dbHelper = new DatabaseHelper(this.getApplicationContext()); Map<String,ArrayList<String>> displayMap = dbHelper.getUserListToDisplay(); userIDArr = displayMap.get("UserID"); userNameArr = displayMap.get("FirstName1"); userListView = (ListView) findViewById(R.id.listView2); userListView.setAdapter(new UserListAdapter(this,userIDArr)); userListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { Toast.makeText(usersListActivity.this, "Item in position " + position + " clicked", Toast.LENGTH_LONG).show(); } }); } public class UserListAdapter extends ArrayAdapter<String> { Activity context; public UserListAdapter(Activity context, ArrayList<String> names) { super(context, R.layout.list_item, names); this.context = context; } private class ViewHolder { public TextView UserNameAndID; public TextView Description; public Button UploadBtn; }
4 回答

揚帆大魚
TA貢獻1799條經(jīng)驗 獲得超9個贊
嘗試像這樣設(shè)置按鈕(或要處理的其他視圖單擊列表項):
android:focusable="false"
android:focusableInTouchMode="false"

臨摹微笑
TA貢獻1982條經(jīng)驗 獲得超2個贊
有時,列表仍將無法使Click Listener通過。在這種情況下,您可能必須再添加一個屬性。
android:descendantFocusability="blocksDescendants"
并且必須將此屬性添加到提供ListView元素的XML的最頂層布局中。

守著一只汪
TA貢獻1872條經(jīng)驗 獲得超4個贊
如果您的列表視圖中有一個活動視圖/可聚焦視圖,則它將禁用onItemClickListener
...,您可以通過android:focusable="false"
在任何通??删劢沟囊晥D上添加:來使其變?yōu)椴豢?nbsp;聚焦。
- 4 回答
- 0 關(guān)注
- 1102 瀏覽
添加回答
舉報
0/150
提交
取消