Android 设置侦听器时的ClassCastException
我有一个用于Android 设置侦听器时的ClassCastException,android,listview,adapter,Android,Listview,Adapter,我有一个用于列表视图的arrayAdapter。在这个arrayAdapter中,我调用了一个方法,由于某种原因导致了ClassCastException 阵列适配器 String[] strings = /*...*/; ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,R.layout.item,strings); ListView listView = (ListView) (findView
列表视图的arrayAdapter
。在这个arrayAdapter
中,我调用了一个方法,由于某种原因导致了ClassCastException
阵列适配器
String[] strings = /*...*/;
ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,R.layout.item,strings);
ListView listView = (ListView) (findViewById(R.id.listView));
listView.setAdapter(adapter);
String[]strings=/*…*/;
ArrayAdapter=新的ArrayAdapter(this,R.layout.item,strings);
ListView ListView=(ListView)(findViewById(R.id.ListView));
setAdapter(适配器);
崩溃代码
private void addListener() {
ListView listView = (ListView) findViewById(R.id.listView);
listView.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View viewClicked, int position, long id) {
TextView textView = (TextView) viewClicked;
}
});
}
private void addListener(){
ListView ListView=(ListView)findViewById(R.id.ListView);
listView.setOnItemClickListener(
新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图已单击、整型位置、长id){
TextView TextView=(TextView)视图已单击;
}
});
}
在ListView中单击的视图不是文本视图。TextView可能包含在ListItem本身的布局中。所以会是这样的
TextView friendRequest = (TextView) viewClicked.findViewById(R.id.friend_request);
请注意标准的变量命名约定,最好使用修改后的驼峰大小写和xml以命名变量的方式(使用下划线空格修饰符)声明变量
如果不是这样,请检查以确保您实际使用了正确的列表-
行ListView s5\u lv\u friend\u request\u list=(ListView)findviewbyd(R.id.s5\u tv\u friend\u request\u list)代码>意味着
<ListView
android:id="@+id/s5_tv_friend_request_list"
... />
包含在活动的xml中。只有当适配器中的每一行都在扩展TextView(convertView==TextView)时,您的代码才能工作。如果是这样,就可以了。如果没有,您必须执行以下操作:
TextView text = (TextView) viewClicked.findViewById(THE_ID_OF_THE_TEXT_VIEW);
layout.xml中是否有“R.id.s5_tv_friend_request_list”(R.id.s5_tv_friend_request_list)?如何解决“不要试图将类强制转换为它不是的类。TextView friend_request=(TextView)viewClicked;包含错误。如果您使用的是ArrayAdapter,则使用TextView friend_request=(TextView)viewClicked.findViewById(android.R.id.text1);你能把代码贴到你要添加适配器的地方吗list@AnixPasBesoin请张贴适配器代码