すべてのリストビュー要素で、ボタンに1つのImageButtonの表示を変更させようとしています。私が抱えている問題は、アクセスする適切な要素を見つけることです。これは、カスタムアダプタの特定の要素にアクセスする簡単な方法がないためです(私は思います)
関連するコード部分:
public View getView(final int position, final View convertView, final ViewGroup parent) {
View vi=convertView;
if(convertView==null)
{
vi = inflater.inflate(R.layout.custom_row_view, null);
}
/*
other non important view stuff
*/
if(deleteButton != null){
deleteButton.setVisibility(View.INVISIBLE);
deleteButton.setTag(position);
deleteButton.setOnClickListener(deleteListener);
}
return vi;
}
public void setVisibility()
{
if(deleteButton.getVisibility() == View.INVISIBLE){
deleteButton.setVisibility(View.VISIBLE); //Here i want to access all elements
Log.i("setVisibility", "Changing to "+ deleteButton.getVisibility() + " element: " + deleteButton.getTag());
//Logcat output: Changing to 0 element: 2
} else if(deleteButton.getVisibility() == View.VISIBLE){
deleteButton.setVisibility(View.INVISIBLE);
Log.i("setVisibility", "Changing to "+ deleteButton.getVisibility() + " element: " + deleteButton.getTag());
//Logcat output: Changing to 4 element: 2
}
}
メインアクティビティで使用するもの:
CustomAdapter listAdapter;
ListView listViewLeft;
ListView listViewRight;
OnCreate:
listAdapter=new CustomAdapter(this, link, names, names2, buttonText,context, plistArray);
listViewLeft.setAdapter(listAdapter);
listViewRight.setAdapter(listAdapter);
私は単に以下を使用してメソッドを呼び出します:
OnClickListener editListener = new OnClickListener() {
public void onClick(View view) {
listAdapter.setVisibility();
}
}
誰かが何かアイデアを持っているなら、私は本当にそれを感謝します、ありがとう:)