你正在嘗試的是:操縱適配器中聲明的按鈕的可見性從包含活動。很簡單,在活動中放置一個控制變量並將其參數傳遞給適配器。
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