在 ListView 适配器中更改 getView(...) 中的 TextView 颜色和文本

Change TextView colour and text in getView(...) in ListView adapter

我已经搜索过了,我可以找到我需要的答案...

我有一个导航抽屉 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 cannot be cast to android.widget.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 mytextview=(TextView)view;
        mytextview.setTextColor(Color.BLUE); 
        mytextview.setTextSize(14);
        // Other code you may want to add

        return view;
    }
};
lv_navList.setAdapter(adapter_navList);