如何实现:一个Tab中的List点击某个Item后想把该项添加到另一个tab中的ListView中?

2019-03-25 13:50|来源: 网路

一个Tab中的List点击某个Item后如何才能把该项添加到另一个tab中的ListView中?
public class Tab2ListAdapter extends BaseAdapter {

	ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();

	private LayoutInflater inflater;

	public Tab2ListAdapter (Context contex) {
		inflater = LayoutInflater.from(contex);
		List<Phone> phones = loadPhones(Constants.TOP10_URL);
		for (int i=0;i<10;i++) {
			HashMap<String, Object> map = new HashMap<String, Object>();
			map.put("id",i);
			list.add(map);
		}
	}

	@Override
	public int getCount() {
		return list.size();
	}

	@Override
	public Object getItem(int position) {
		return list.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		final FavoriteViewHolder myHolder;
		if (convertView == null) {
			myHolder = new FavoriteViewHolder();
			convertView = inflater.inflate(R.layout.favorite_list_view_item, null);
			myHolder.tv01 = (TextView) convertView.findViewById(R.id.TextView01);
			//...
                        myHolder.actionImage = (ImageView) convertView.findViewById(R.id.actionImage);
			convertView.setTag(myHolder);
		} else {
			myHolder = (FavoriteViewHolder) convertView.getTag();
		}
		myHolder.tv01.setText(list.get(position).get("pname").toString());
		
		myHolder.iv.setImageBitmap(HttpUtil.getBitMap(list.get(position).get("image").toString()));
		myHolder.actionImage.setImageResource(R.drawable.list_add);

		final int p = position;

		myHolder.actionImage.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				Toast.makeText(v.getContext(), " Add " + p + " to my Favorite Tab.", Toast.LENGTH_SHORT).show();
 				//请教怎么将该item添加到另一个tab中的listView内?
 
			}
		});

		return convertView;
	}

}



问题补充:
billyyuan 写道
ListView有一个Adapter吧,Adapter中有数据源噻不能直接添加到另一个ListView中,你可以改那个ListView的数据源不呢?



是有一个Adapter的(Tab1ListAdapter),但在这里要怎么才能引用到它(Tab1ListAdapter)呢?

谢谢!

问题补充:
billyyuan 写道
这样说吗如果adapter是ArrayAdapter哪我们修改数组,使ArrayAdapter用的是我们更新用的数据的数据就可以了吧。

myHolder.actionImage.setOnClickListener(new OnClickListener() { 
            @Override 
            public void onClick(View v) { 
                Toast.makeText(v.getContext(), " Add " + p + " to my Favorite Tab.", Toast.LENGTH_SHORT).show(); 
                //请教怎么将该item添加到另一个tab中的listView内? 
                //问题:在这里怎么引用Tab1ListAdapter?

            } 
        }); 

谢谢!

问题补充:
billyyuan 写道
我说你怎么老是纠结到要去改Adapter呢?这边没有adapter的引用又怎样,
像系统的联系人,在添加收藏的时候,联系人也是点了星号之后,这个联系人在收藏页面就可以看到。人家也是通过点了星号后修改数据库。到收藏页面后从数据库中查询数据。
不要纠结Adapter 可能是我之前没说清楚,误导你了,不好意思。


兄弟,谢谢你的提醒!就这么干了!

相关问答

更多