2012-09-07 101 views
0

我有问题的列表视图中的研究背景从FUNC改变创建自定义布局(背景)

ListView控件通过JSON encdoe接收来自URL的数据一样,/更新的ListView:

{"results":[ 
    {"db_id":"6","discount":"active","db_description":"bla bla bla ","db_num":"137","db_num2":"260"}, 
    {"db_id":"14","db_type":"discount","db_description":"blaaaaaaa","db_num":"39","db_num2":"46"}, 
    {"db_id":"18","db_type":"discount","db_description":"blaaaaaaa","db_num":"335","db_num2":"456"}, 
]} 

我的代码:

   ListAdapter adapter = new SimpleAdapter(
         QueueActivity.this, QueueList, 
         R.layout.queue_row, new String[] { TAG_ID, TAG_DESCRIPTION, TAG_NUM, TAG_NUM2, TAG_IMAGE}, 
         new int[] { R.id.qid, R.id.description, R.id.num, R.id.num2, R.id.list_image }); 

       setListAdapter(adapter); 

onListItemClick我可以通过Simplay更新背景

protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     v.setBackgroundResource(R.drawable.listview_taken_background); 
     TextView textid = (TextView) v.findViewById(R.id.queueid); 
     textid.setText("NEW TEXT") 
} 

但我需要更新从一个func的背景以及 我该怎么做?

for ex,命令new FuncName()。execute(“2”);将用于第二排的底色资源设置为“R.drawable.listview_taken_background”

回答

1

您可以使用ListView.getChildAt(int index)View在这个位置返回然后修改它的背景。

+0

查看listView = getListView()。getChildAt(0); listView.setBackgroundResource(R.drawable.listview_taken_background);我得到NullPointException – Kirma

+1

你确定在填充ListView后调用这个吗? –

+0

是100%。该函数在setListAdapter(adapter)之后被调用; – Kirma