【发布时间】:2018-03-29 16:19:55
【问题描述】:
我正在尝试从 firebase 创建数据的列表视图。每个项目都有一个TextView 和一个ImageView。
我也希望每次单击TextView 以输入与此项目以某种方式关联的新ListView。第二个列表还包含带有TextView 和ImageButton 的项目(每次我根据其类型更新列表时)。
问题在于,我无法理解如何在TextView 和ImageView 之间分离OnClickItemView 的实现。
这是我的适配器:
public class Adapter extends BaseAdapter {
Activity activity;
List <ObjectItem> items;
LayoutInflater inflater;
public Adapter(Activity activity) {
this.activity = activity;
}
public Adapter(Activity activity, List<HistoryItem> items) {
this.activity = activity;
this.items = items;
inflater= activity.getLayoutInflater();
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int i) {
return i;
}
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(final int position, View view, ViewGroup viewGroup) {
ViewHolder holder = null;
if (view == null){
view = inflater.inflate(R.layout.history_item, viewGroup, false);
holder = new ViewHolder();
holder.txtMsg = (TextView)view.findViewById(R.id.txt);
holder.btn = (ImageButton) view.findViewById(R.id.btn);
view.setTag(holder);
} else
holder = (ViewHolder)view.getTag();
ObjectItem item = items.get(position);
holder.txtMsg.setText(item.getTxt());
if(item.type().equals("LIST_1")){
holder.btn.setBackgroundResource(R.drawable.save);
} else {
holder.btn.setBackgroundResource(R.drawable.check);
}
return view;
}
public void updateRecords(List<HistoryItem> items){
this.items = items;
notifyDataSetChanged();
}
class ViewHolder {
TextView txtMsg;
ImageView btn;
}
}
【问题讨论】:
标签: android listview firebase adapter