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请张贴适配器代码