在按钮点击时在ListView中更改按钮背景
问题描述:
我有一个listview.which包含一个图像,文本和一个按钮.i已经为此定义了自定义列表视图。现在我想要更改当按钮被点击时按钮的背景图像.i在我的CustomAdapter的getView方法中有一个点击事件,但我不能改变背景图片。 请帮助我。在按钮点击时在ListView中更改按钮背景
以下是我的代码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;
}
答
我相信你的努力做的是一样的东西
public void onClick(View arg0)
{
((Button) arg0).setBackgroundDrawable(....
以及..如果我不是错误观点类也有setBackgroundDrawable但这个想法是,你应该使用onclicked视图,而不是一般的btnAddToFavourite
+2
+1 - 但是如果列表滚动,颜色将会改变。或给出奇怪的结果,以防万一他将使用'ViewHolder' –
+0
非常感谢你我的朋友......继续帮助..我得到了解决方案...神保佑你... –
而不是btnAddToFavourite.setBackgroundDrawable尝试arg0.setBackgroundDrawable – SERPRO
感谢我的朋友......它的工作......感谢4引导我......上帝保佑你。 –