gpt4 book ai didi

java - 将 ListView 的选定项作为字符串或 TextView 获取时出现 ClassCastException

转载 作者:太空狗 更新时间:2023-10-29 15:38:58 32 4
gpt4 key购买 nike

我遇到了运行时错误异常:

java.lang.ClassCastException: android.widget.TwoLineListItem cannot be cast to android.widget.TextView

我的 Activity 扩展了 Activity NOT ListActivity,这是我的布局构造:

<LinearLayout ...> <ListView ...></ListView> </LinearLayout>

Java:

   ListView lv1 = (ListView) findViewById(R.id.listViewXMLdata);
ArrayAdapter<String> arrAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_2,
android.R.id.text2, getResources().getStringArray(R.array.countries));

lv1.setAdapter(arrAdapter);

lv1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
lView.getItemAtPosition(position);

String itemSelected = ((TextView) view).getText().toString();
Toast.makeText(getApplicationContext(), "Clicked Position Number " + position + ": " + itemSelected ,
Toast.LENGTH_SHORT)
.show();


}
});

我唯一关心的只是获取列表中的字符串(所选项目)。

注意 1:我没有在任何数据库上工作。

注意 2:我已经尝试将其转换为 CharSequence itemSelected = ((TextView) view).getText().toString() 但仍然出现运行时错误。

仅当我开始选择列表中的项目时才会出现运行时错误。

最佳答案

android.R.layout.simple_list_item_2 的根是一个 TwoLineListItem 小部件,它有两个 child (两个 TextViews),两行文本。将此小部件转换为 TextView 将失败,并出现您在 logcat 中看到的异常。使用 findViewById 搜索所需的 TextView:

String itemSelected = ((TextView) view.findViewById(android.R.id.text2)).getText().toString();

关于java - 将 ListView 的选定项作为字符串或 TextView 获取时出现 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715456/

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