【发布时间】:2015-07-12 23:21:50
【问题描述】:
我已经搜索过这个,我可以找到我需要的确切答案......
我有一个导航抽屉ListView,当我在列表中单击一个项目时,我希望能够从中获取TextView,并更改其背景颜色、文本颜色并使文本加粗.
我尝试通过执行以下操作获取TextView;
adapter_navList = new ArrayAdapter<String>(this, R.layout.listview_navdrawer, drawerItems) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView item = (TextView) lv_navList.getItemAtPosition(i);
// Code to set the background, formatting, colour, etc.
return view;
}
};
lv_navList.setAdapter(adapter_navList);
但是,我不断收到以下错误:
java.lang.ClassCastException: java.lang.String 无法转换为 android.widget.TextView
我该如何解决这个问题?
【问题讨论】:
-
请使用 TextView item = (TextView) adapter_navList.getItemAtPosition(i)。
-
@JayShah 这不起作用 - 无法解析方法 'getItemAtPosition(int)'。
-
好的,你已经将arrayadapter设置为你的listview。所以你的视图已经是textview了。你可以像下面这样使用它:: ((TextView)view).setTypeface(font); ((TextView)view).setTextColor(Color.BLUE);希望这对你有帮助..
-
@JayShah 谢谢。您能否发表您的评论作为带有解释的答案,以便我接受。另外,当我使用上述内容时,我第二次施放它时,我会收到通知说它是多余的。怎么样?
标签: android android-listview textview android-adapter classcastexception