コードに設定mButton.setClickable(false);
しましたが、それでもこのボタンはbutton.setOnClickListener
コードのグローバルによって呼び出されます。
編集:更新が遅れて申し訳ありません。以下は、私が問題に直面している詳細ビューです。
リストビュー customAdapter クラスの getView メソッド内
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
YourWrapper wrapper = null;
HashMap<String, Object> cTa= new HashMap<String, Object>();
cTa= d.getPosition(position)
Button mButton = (Button)convertView.findViewById(R.id.mBtn);
if (row == null)
{
row = inflater.inflate(R.layout.layout, parent, false);
wrapper = new YourWrapper (row);
row.setTag(wrapper);
}
else
wrapper = (YourWrapper) row.getTag();
if(success)
{
// section-1
mButton.setClickable(true);
}
else{
// section-2
mButton.setClickable(false);
mButton.setFocusable(false);
}
wrapper.getButton().setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//operation
}
});
return row;
}
上記は現在動作しているコードで、セクション 2 では mButton のクリック可能 - false とフォーカス可能 - false になりますが、それでも以下の wrapper.getButton().setOnClickListener() をリッスンして操作を実行します。私に提案してください。更新が遅くなり申し訳ありません。ありがとう!
更新:現在のところ、問題を解決する以下のホットフィックスを作成しました。
// section-2
mButton.setVisibility(View.GONE);
mButton.setClickable(false);
mButton.setFocusable(false);