から画像を非表示にしたいListView
、ここでカスタムリストビューを使用しBaseAdapter
ました 下の画像を参照してください 、ここでEdit btn
画像1をクリックすると表示されます 、
ListViewの画像は以下の通りです
Activity
のクリックでこのコードを実行しましたbutton
++btnClick;
if (btnClick % 2 == 0)
{
textView.setText("Edit");
baseAdapter.holder.imgPhoto.setVisibility(View.INVISIBLE);
} else {
textView.setText("Done");
Log.e("call", "Done");
baseAdapter.holder.imgPhoto.setVisibility(View.VISIBLE);
};
baseAdapter
のオブジェクトはどこにありBaseAdapter
ますか 、ここでボタンをクリックすると何が起こるか 最後のボタンのみ最後の参照を取得しているため非表示です。再度再読み込みしたくありませんBaseAdapter
。
BaseAdapterFavorites.java
public class BaseAdapterFavotites extends BaseAdapter {
private ArrayList<SearchResults> searchArrayList;
public ArrayList<String> getSchoolId, getSchoolName;
private LayoutInflater mInflater;
public ViewHolder holder;
Context context;
public String s;
HashMap<String, String> mapSchoolToLink = new HashMap<String, String>();;
public BaseAdapterFavotites(Context context,
ArrayList<SearchResults> results, ArrayList<String> arrayId,
ArrayList<String> arraySchoolName) {
searchArrayList = results;
mInflater = LayoutInflater.from(context);
getSchoolId = arrayId;
this.context = context;
getSchoolName = arraySchoolName;
}
public int getCount() {
return searchArrayList.size();
}
public Object getItem(int position) {
return searchArrayList.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.custom_row_for_favorites,
null);
holder = new ViewHolder();
holder.txtSchoolNameList = (TextView) convertView
.findViewById(R.id.schoolNameFav);
holder.imgPhoto = (ImageView) convertView.findViewById(R.id.delete);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtSchoolNameList.setText(searchArrayList.get(position)
.getschoolNameFromList());
Log.e("holder", searchArrayList.get(position).getschoolNameFromList());
holder.imgPhoto.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
mapSchoolToLink.clear();
searchArrayList.remove(position);
getSchoolId.remove(position);
getSchoolName.remove(position);
notifyDataSetChanged();
Log.e("inside base", searchArrayList.toString());
Log.e("inside getSchoolId", getSchoolId.toString());
for (int i = 0; i < getSchoolId.size(); i++) {
mapSchoolToLink.put(getSchoolName.get(i),
getSchoolId.get(i));
}
SharedPreferences.Editor editor = context
.getSharedPreferences("mytest", 0).edit().clear();
for (Entry<String, String> entry : mapSchoolToLink.entrySet()) {
editor.putString(entry.getKey(), entry.getValue());
}
editor.commit();
}
});
return convertView;
}
public class ViewHolder {
TextView txtSchoolNameList;
public ImageView imgPhoto;
}
}
このためのソリューションから画像を非表示にActivity
する必要がありますBaseAdapter