单击按钮时在ListView中更改按钮背景

时间:2011-11-24 16:19:39

标签: java android android-layout android-listview

我有一个listview.which包含一个图像,文本和一个按钮。我已经为它创建了自定义列表视图。现在我想在按钮被点击时更改按钮的背景图像。我在我的getView方法中获得了一个click事件CustomAdapter.but我无法更改背景图像。 请帮帮我。

以下是我的适配器getView()方法代码。

public View getView(final int position, View convertView, ViewGroup parent) 
{
    View v = convertView;
    ViewHolder holder = null;

    v = vi.inflate(R.layout.row_lv_operator, null); 
    tvOperatorname=(TextView) v.findViewById(R.id.tvOperatorName);
    ivOperatorIcon=(ImageView)v.findViewById(R.id.ivOperatorIcon);
    btnAddToFavourite=(Button)v.findViewById(R.id.btnFavourite);
    tvOperatorname.setText(values[position]);
    ivOperatorIcon.setImageResource(icons[position]);
    //holder.ivOperatorIcon.setTag(values[position]);
    btnAddToFavourite.setOnClickListener(new OnClickListener()
    {                           
        public void onClick(View arg0) 
        {
                **btnAddToFavourite.setBackgroundDrawable(getResources().getDrawable(R.drawable.favourite_marked));**
                Toast.makeText(getApplicationContext(), "hi",Toast.LENGTH_SHORT).show();

        }
    });

    eturn v; 
}

1 个答案:

答案 0 :(得分:3)

我相信你想做的事情就像是

public void onClick(View arg0) 
{
((Button) arg0).setBackgroundDrawable(....

嗯..如果我没有弄错,View类也有setBackgroundDrawable,但想法是你应该使用onclicked视图而不是一般的btnAddToFavourite