你正在尝试的是:操纵适配器中声明的按钮的可见性从包含活动。很简单,在活动中放置一个控制变量并将其参数传递给适配器。
Boolean mShowButton; //a controlling variable
void onCreate(Bundle savedInstanceState) {
...
mAdapter=new MyAdapter(...,mShowButton);
mButton.setOnClickListener(actionShow);
}
OnClickListener actionShow = new OnClickListener() {
@Override
public void onClick(View button) {
mShowButton=true;
mAdapter.notifyDataSetChanged();
mListView.invalidateViews();
}
};
而在你适配器为此,
Boolean showButton;
public MyAdapter(Context context, List<String> myList, Boolean showButton) {
...
this.showButton=showButton;
}
public View getView(int position, View rowView, ViewGroup parent) {
...
if(showButton){
mButtonTwo.setVisibility(View.GONE);
}else{
mButtonTwo.setVisibility(View.VISIBLE);
}
}
'View.setVisibility(View.X);' –
安置自己的自定义适配器。 – Vijay