Rah*_*ani 1 android listview android-layout android-adapter
我正在研究离线预订医学的Android应用程序.我已经使用了ListView for Cart,但每当我在购物车中添加新商品时,我之前的商品都会被替换.
L1 = imageacidity
L2 = imagecough
if(msg.toString().equals("L1")) {
adapter = new ContactImageAdapter(this, R.layout.list, imageacidity);
ListView dataList = (ListView) findViewById(R.id.list);
dataList.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
if(msg.toString().equals("L2"))
{
adapter = new ContactImageAdapter(this, R.layout.list, imagecough);
ListView dataList = (ListView) findViewById(R.id.list);
dataList.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
这里我有5个元素imageacidity和Imagecough数组.每当我选择1个项目时,它会被添加到购物车中,但是当我尝试选择另一个项目时,它会被替换为新项目.
您必须在适配器中添加元素.我将发布一个自定义适配器,并向您展示如何正确添加元素.
适配器:
public class YourAdapter extends BaseAdapter {
List<String> itens;
private Context mContext;
private static LayoutInflater inflater = null;
public YourAdapter(Context context, List<String> itens){
this.itens = itens;
mContext = context;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
return itens.size();
}
public String getItem(int position) {
return itens.get(position);
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.list_row, parent, false);
String msg = itens.get(position);
TextView tx = vi.findViewById(R.id.your_id);
tx.setText(msg);
return vi;
}
public void addItem(String item){
itens.add(item);
}
public void addItens(List<String> itens){
this.itens.addAll(itens);
}
}
Run Code Online (Sandbox Code Playgroud)
列表显示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adapter = new CustomAdapter(this,yourListOfItens);
listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
您可以在适配器的构造函数上设置初始数据,或者在单击按钮上使用方法addItem和addAll.
| 归档时间: |
|
| 查看次数: |
4457 次 |
| 最近记录: |