我使用最新更新的支持庫創建了底部工作表。基本上,只要長時間點擊回收站視圖中的項目,就會顯示底部工作表(包含包含列表視圖的線性佈局)。但是每當我點擊listview中的項目時都不會發生任何事情。我添加了吐司,當我點擊表單項目時,它永遠不會被觸發。有任何想法嗎?提前致謝!ListView OnItemClickListener不在底部工作表中觸發
這裏是ListView控件初始化方法:
public void initSheet() {
bottomSheet = findViewById(R.id.list_sheet);
ListAdapter adapter = new ListAdapter(this, R.layout.custom_sheet_row, getSheetInfo(), "Sheet");
list = (ListView) findViewById(R.id.list_sheet_list);
list.setAdapter(adapter);
behavior = BottomSheetBehavior.from(bottomSheet);
behavior.setHideable(true);
}
這裏是recyclerview長按:
@Override
public void onLongClick(View view, int position) {
final String itemText = ((TextView) view.findViewById(R.id.textRow)).getText().toString();
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(ListActivity.this, "sdjakfjs", Toast.LENGTH_SHORT).show();
switch (position) {
case 0:
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(Intent.EXTRA_TEXT, itemText);
startActivity(Intent.createChooser(sharingIntent, "Share the item"));
break;
case 1:
final ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setPrimaryClip(ClipData.newPlainText("New", itemText));
break;
case 2:
editText(itemText, position);
break;
case 3:
listAdapter.deleteItem(position);
break;
}
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}
});
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
請確定您使用的是什麼,列表視圖或回收站視圖。你的代碼是列表視圖,在某些地方你使用回收視圖 – theLazyFinder
就像我在op中說過的,我有一個recyclerview作爲主應用,但在底部列表中有一個列表視圖 –