提问者:小点点

如何使用JAVA更改listview android studio中的彩色文本?


我需要使用JAVA,从列表视图改变所有文本视图的颜色。

MainActivity.java:

public class MainActivity extends AppCompatActivity {

String[] programName = {"ex1", "ex2", "ex3"}

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvProgram = findViewById(R.id.listView);


ProgramAdapter programAdapter = new ProgramAdapter(this, programName);
lvProgram.setAdapter(programAdapter);

}}


ProgramAdapter.java:

public class ProgramAdapter extends ArrayAdapter<String> {
        Context context;
        String[] programName;

        public ProgramAdapter(Context context, String[] programName) {
            super(context, R.layout.single_item2, R.id.titulo, programName);
            this.context = context;
            this.programName = programName;
        }


    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View singleItem = convertView;
        ProgramViewHolder holder = null;
        if(singleItem == null){
            LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            singleItem = layoutInflater.inflate(R.layout.single_item2, parent, false);
            holder = new ProgramViewHolder(singleItem);
            singleItem.setTag(holder);
        }
        else{
            holder = (ProgramViewHolder) singleItem.getTag();
        }
        holder.programTitle.setText(programName[position]);


        }


}

我的尝试:

findViewById(R.id.TextView1).setBackgroundColor(Color.BLACK);

我的尝试甚至奏效了,但它只改变了一些文本视图的颜色,而且在随机的时间里,它并没有按照我想要的方式改变。


共1个答案

匿名用户

试试这个

holder.programTitle.setBackgroundColor(Color.BLACK);