【问题标题】:Change Background color of listview item, taking index from loop更改列表视图项的背景颜色,从循环中获取索引
【发布时间】:2016-03-01 17:27:33
【问题描述】:

我想更改我的列表视图项的背景色,但是当我运行它时它不会更改并显示未找到该索引。 在这里我还检查了最后一个 if(sts.equals("true")) 条件是否匹配,但它也成功匹配,只是颜色没有改变,它调用 catch 部分并显示“获取数据时出错:null”

public void viewTask()
{
    int i=0;
    try{
    Cursor c1 = myDB.rawQuery("SELECT * FROM "+TBName+" where Event_id= '" +Eid+ "'" , null);
    String Data[]  = new String[c1.getCount()+1];
    if (c1 != null) {
        c1.moveToFirst();
        do {
            Tname = c1.getString(c1.getColumnIndex("Task_name"));
            sts= c1.getString(c1.getColumnIndex("Status"));
            Data[i]=Tname;
            item.add(Data[i]);
            if(sts.equals("true"))
            {
                //Toast.makeText(getApplicationContext(),"Match",Toast.LENGTH_LONG).show();
                lvProlist.getChildAt(i).setBackgroundColor(Color.GREEN);
            }
            i++;
        }while(c1.moveToNext());
    }
    }
    catch (Exception e) {
        // TODO: handle exception
        if(i>0){
        Toast.makeText(getBaseContext(),
                "Error in Fetching data: " + e.getMessage(), Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(getBaseContext(),
                    "PLEASE ADD TASK", Toast.LENGTH_LONG).show();
        }
    }
}

【问题讨论】:

  • lvProlist.getChildAt(i) 打印并检查其值
  • 你能把全班都贴出来吗?
  • viewTask() 是从 onCreate() 方法调用的,我想在活动开始时在运行时更改颜色,因此如果状态为真,它将检查任务是否已完成或未使用状态然后可以将其更改为绿色背景。

标签: android listview android-listview background-color


【解决方案1】:
public View row;

your_list.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> a, View v,
                    int position, long id) {

if (row != null) {
    row.setBackgroundResource(R.color.orange);
}
row = v;
v.setBackgroundResource(R.color.transparent_green);
)};

这里:listview item background color change

【讨论】:

  • Thaks 用于回答,但我已将 arraylist 与基本适配器一起使用,因此我只想在运行时更改颜色,当活动开始时,它会检查该任务的状态以及任务是否为完成后会以绿色背景显示
猜你喜欢
  • 1970-01-01
  • 2016-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-13
  • 1970-01-01
相关资源
最近更新 更多