gpt4 book ai didi

java - DrawerLayout OnClickListener 未触发

转载 作者:行者123 更新时间:2023-12-01 20:15:53 24 4
gpt4 key购买 nike

我正在使用 Android DrawerLayout 并有一个包含我的抽屉项目的 ListView 。

我尝试实现 OnClickListener 但无济于事,Toast 未触发:

mDrawerList = (ListView) findViewById(R.id.left_drawer);
ArrayList<String> drawerTitleArray = new ArrayList<>();
drawerTitleArray.add(0, "TEST");
drawerTitleArray.add(1, "TEST 1");
// Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<>(this,
R.layout.drawer_list_item,
drawerTitleArray));
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
switch (adapterView.getId()){
case 0:
Toast.makeText(getApplicationContext(),"CLICKED 0",Toast.LENGTH_SHORT).show();
}
}
});

最佳答案

问题出在 switch 表达式中。 adapterView.getId() 将返回 ListViewView ID,而不是任何对于确定单击的项目有用的内容。

您想要打开项目在列表中的位置,该位置作为 onItemClick() 中的第三个参数传递。它在您的代码 fragment 中被命名为 i,但通常被命名为 position,这会提供更多信息。

关于java - DrawerLayout OnClickListener 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45829286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com