Java 单击按钮时更改ListView中的按钮背景
我有一个listview。它包含一个图像、文本和一个按钮。我已经为此创建了自定义listview。现在我想在单击按钮时更改按钮的背景图像。我在CustomAdapter的getView方法中获得了一个click事件。但我无法更改背景图像。 请帮帮我 下面是我的适配器的getView方法代码Java 单击按钮时更改ListView中的按钮背景,java,android,android-layout,android-listview,Java,Android,Android Layout,Android Listview,我有一个listview。它包含一个图像、文本和一个按钮。我已经为此创建了自定义listview。现在我想在单击按钮时更改按钮的背景图像。我在CustomAdapter的getView方法中获得了一个click事件。但我无法更改背景图像。 请帮帮我 下面是我的适配器的getView方法代码 public View getView(final int position, View convertView, ViewGroup parent) { View v = convertView;
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而不是btnAddToFavourite.setBackgroundDrawable试试arg0.setBackgroundDrawable谢谢我的朋友…它起作用了…谢谢4引导我…上帝保佑你+1-但是如果列表被滚动了颜色会改变的。或者给出一个奇怪的结果,以防他会使用ViewHolder谢谢你我的朋友…继续帮助…我找到了解决办法…上帝保佑你。。。