BaseAdapter
을 사용하여 ListView
을 생성했습니다. 내 목록보기에 2 Button
있습니다. 행의 Button2를 클릭하면 Button1이 보이지 않도록하고 싶습니다. 그런 다음 다른 행의 Button2를 클릭하면 현재 행의 Button1을 보이지 않게 만들고 이전에 보이지 않는 Button1을 표시 할 수 있습니다. 즉 한 번에 한 행의 Button1 만 보이지 않아야합니다. 다음을 수행했지만 클릭 한 행에서 Button1의 가시성을 설정하는 방법을 모르겠습니다. 제발 나를 안내하십시오. 당신은 다른 항목 Button
을 클릭 할 때 볼 수 있도록, 마지막 hidden Button
보기의 보류를 유지해야BaseAdapter를 사용하여 생성 된 listview에서 한 행만 변경하는 방법은 무엇입니까?
private class ListAdapter extends BaseAdapter {
LayoutInflater inflater;
ViewHolder viewHolder;
public ListAdapter(Context context) {
// TODO Auto-generated constructor stub
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return _productlist.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return _productlist.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
private final boolean[] mHighlightedPositions = new boolean[getCount()];
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if (convertView == null) {
convertView = inflater.inflate(R.layout.listview_row, null);
viewHolder = new ViewHolder();
viewHolder.Button1 = (Button) convertView
.findViewById(R.id.btn_update);
convertView.setTag(viewHolder);
viewHolder.Button2 = (Button) convertView
.findViewById(R.id.btn_update2);
convertView.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.Button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mHighlightedPositions[position]) {
viewHolder.Button1.setVisibility(convertView.INVISIBLE);
}
}
});
return convertView;
}