gpt4 book ai didi

java - 无法从 AdapterView 转换为自定义适配器?

转载 作者:行者123 更新时间:2023-12-01 18:22:54 25 4
gpt4 key购买 nike

在我的应用程序中,我实现了一个抽屉导航,它显示支票簿的银行账户列表。我编写了一个处理此列表的 AccountAdapter 类,并在我的 NavigationDrawerFragment 类中使用以下生成的代码:

mDrawerListView.setAdapter(mAccountAdapter);
mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l){
AccountAdapter adapter = (AccountAdapter) adapterView.getAdapter();
Cursor cursor = adapter.getCursor();
if(cursor != null && cursor.moveToPosition(i)){
// Do nothing!
}
}
});

但是,我在 onItemClick 方法的第一行收到错误:

java.lang.ClassCastException: android.widget.HeaderViewListAdapter cannot be cast to com.example.android.checkit.AccountAdapter

这是处理此 ListView 的 itemClick 事件的正确方法吗?如何调整代码以避免此错误?

最佳答案

使用AccountAdapter adapter = (AccountAdapter) adapterView.getWrappedAdapter() (doc).

更新:

HeaderViewListAdapter headerViewAdapter = (HeaderViewListAdapter) adapterView.getAdapter();
AccountAdapter adapter = (AccountAdapter) headerViewAdapter.getWrappedAdapter();

关于java - 无法从 AdapterView 转换为自定义适配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27178728/

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