android - 将商品添加到购物车列表
问题描述
我创建了一个安卓应用程序。在该应用程序中,当我单击添加时,将项目添加到数组列表中,并且我想在购物车活动中显示此数组列表。怎么做。
这是我的活动1
public void addShirt(View view) {
MainActivity.cartItems.add(getString(R.string.shirt));
}
public void addPant(View view) {
MainActivity.cartItems.add(getString(R.string.pant));
}
public void view(View view) {
Intent i =new Intent(OnlyIron.this,CartActivity.class);
startActivity(i);
}
和购物车活动是
for(int i=0; i<MainActivity.cartItems.size();i++) {
Toast.makeText(this, "item : " + MainActivity.cartItems.get(i), Toast.LENGTH_SHORT).show();
}
它显示吐司,但我在这里输入代码希望在列表视图中显示
解决方案
请在CartActivity中查看列表视图并根据您的需要(UI)创建自定义适配器。将MainActivity.cartItems这个列表传递给 Adapter。它将开始显示在您的CartActivity中。
你可以看到下面的例子:
公共类 CustomAdapter 扩展 BaseAdapter{
Activity mContext;
public ArrayList<String> mCartList = new ArrayList<String>();
private LayoutInflater mInflater=null;
public CustomAdapter(Activity activty, ArrayList<String> list)
{
this.mContext = activty;
mInflater = activty.getLayoutInflater();
this.mCartList=list;
}
@Override
public int getCount() {
if (mCartList != null){
return mCartList.size();
} else{
return 0;
}
}
@Override
public String getItem(int arg0) {
return mCartList.get(arg0);
}
@Override
public long getItemId(int index) {
return index;
}
@Override
public View getView(final int position, View convertView, ViewGroup arg2) {
final ViewHolder holder;
if (convertView == null ) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.item_layout, null);
holder.mItemNameTV= (TextView) convertView.findViewById(R.id.itemtv);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
holder.mNameTV.setText(mCartList.get(position));
return convertView;
}
private static class ViewHolder {
TextView mNameTV;
}
}
// Item Layout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/forty_dp"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/fieldTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/five_dp"
android:layout_weight="0.4"
android:padding="@dimen/ten_dp"
android:text="Custom Field"
android:textColor="@color/dark_gray_color"
android:textSize="@dimen/normal_font_size"
android:visibility="visible" />
</LinearLayout>
// Let Suppose your CartActivity is following:
ListView mListView = (ListView)findViewById(R.id.listview);
CustomAdapter adapter = new CustomAdapter(this, MainActivity.cartItems);
mListView.setAdapter(adapter);
推荐阅读
- spring-boot - Spring Boot - AbstractHttpMessageConverter 实现的 readMessageInternal 没有被调用
- android - 尝试安装新版本的 Android 应用程序后收到“未安装应用程序”消息
- r - 我正在尝试计算 R 中多个 .RDS 文件的行数
- android - 如何在 Recyclerview 项目单击方法中将图像获取到新活动
- c++ - 为什么 char 不是单个字符?
- javascript - 通过 id 将 AJAX 响应附加到元素
- list - 通过从模式列表中添加 Ints 在 Haskell 中生成 Ints 列表
- asp.net-core-signalr - Azure SignalR 服务的授权失败,因为 IServiceCollection 为空
- blazor - 将 datatables.net 与服务器端 Blazor 应用程序一起使用
- perl - 在 perl 中使用哈希的问题