Android 如何在listvew的项目单击情况下刷新位置变量?

Android 如何在listvew的项目单击情况下刷新位置变量?,android,listview,Android,Listview,我正在开发一个android应用程序,用户可以在其中选择特定的食物类别(即itemlist.java)。如果用户选择鸡肉,则会显示相应的项目列表。然后,当用户单击后退并单击另一个类别(即素食快乐)时,它仍然显示与鸡肉相同的列表。位置变量已更改,但它不上载目录资源。 请帮我解决这个问题 Shoppincarthelper.java public class ProductAdapter1 extends BaseAdapter { private List<Product1> mP

我正在开发一个android应用程序,用户可以在其中选择特定的食物类别(即itemlist.java)。如果用户选择鸡肉,则会显示相应的项目列表。然后,当用户单击后退并单击另一个类别(即素食快乐)时,它仍然显示与鸡肉相同的列表。位置变量已更改,但它不上载目录资源。 请帮我解决这个问题

Shoppincarthelper.java

public class ProductAdapter1 extends BaseAdapter {

 private List<Product1> mProductList1;
 private LayoutInflater mInflater;

 public ProductAdapter1(List<Product1> list, LayoutInflater inflater) {
  mProductList1 = list;
  mInflater = inflater;  
 }

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

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

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

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  final ViewItem item;

  if (convertView == null) {
   convertView = mInflater.inflate(R.layout.itemlistcon,null);
   item = new ViewItem();

   item.productTitle = (TextView) convertView.findViewById(R.id.textView1);

   convertView.setTag(item);
  } else {
   item = (ViewItem) convertView.getTag();
  }

  Product1 curProduct = mProductList1.get(position);
  item.productTitle.setText(curProduct.title);
  return convertView;
 }


 public class ViewItem 
 {
  TextView productTitle;
 }

}

公共类ShoppingCartHelper{
公共静态最终字符串PRODUCT\u INDEX=“PRODUCT\u INDEX”;
私有静态列表项列表;
私有静态列表目录;
私有静态列表车;
公共静态最终字符串PRODUCT\u INDEX=“PRODUCT\u INDEX”;
公共静态列表getCatalog(资源资源){
if(catalog==null){
catalog=新向量();
目录。添加(新产品(“鸡肉卡代”,res.getDrawable(R.drawable.new_-Kadai),“卡代鸡肉是一种辛辣的鸡肉菜肴,性质稍干,生姜和咖喱叶散发出浓郁的香味”,123,0);
}
退货目录;
}
公共静态列表getCatalog1(资源资源){
if(itemlist==null){
itemlist=新向量();
添加(新产品1(“鸡肉”);
添加(新产品1(“素食乐”);
添加(新产品1(“大米”);
添加(新产品1(“饮料”);
}
返回项目列表;
}
公共静态列表getCatalog2(资源资源){
if(catalog==null){
catalog=新向量();
目录添加(新产品(“Chana Masala”,res
.getDrawable(R.drawable.chanamasala),
“Chana masala或chole masala是巴基斯坦菜和印度菜中一道很受欢迎的蔬菜菜。主要成分是鹰嘴豆。它相当干燥,辛辣,带有酸酸的柑橘味。”,80);
}
退货目录;
}
公共静态列表getCatalog3(资源资源){
if(catalog==null){
catalog=新向量();
目录。添加(新产品(“Jeera Rice”,res
.getDrawable(R.drawable.jeerarice),
“Jeera大米(孜然味大米),是用孜然种子制成的普通煮饭的简单而可口的变体。”,80);
目录.添加(新产品(“菲律宾炒饭”),res
.getDrawable(R.drawable.friedrice),
“菲律宾式炒饭是一道简单的菜肴,包括米饭、肉和/或蔬菜、少许油、一些香料和装饰物。”,95);
目录。添加(新产品(“蔬菜Biryani”,res
.getDrawable(R.drawable.vegbiryani),
“蔬菜Biryani,是一种富含咖喱的印度莫赫莱普劳。Kabuli Chana Biryani,Hyderabadi Biryani和更多”,60);
}
Itemlist.java

public class ProductAdapter1 extends BaseAdapter {

 private List<Product1> mProductList1;
 private LayoutInflater mInflater;

 public ProductAdapter1(List<Product1> list, LayoutInflater inflater) {
  mProductList1 = list;
  mInflater = inflater;  
 }

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

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

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

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  final ViewItem item;

  if (convertView == null) {
   convertView = mInflater.inflate(R.layout.itemlistcon,null);
   item = new ViewItem();

   item.productTitle = (TextView) convertView.findViewById(R.id.textView1);

   convertView.setTag(item);
  } else {
   item = (ViewItem) convertView.getTag();
  }

  Product1 curProduct = mProductList1.get(position);
  item.productTitle.setText(curProduct.title);
  return convertView;
 }


 public class ViewItem 
 {
  TextView productTitle;
 }

}

public类ItemList扩展活动{
私有列表1;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.itemlist);
//获取对产品目录的引用
MPProductList1=ShoppingCartHelper.getCatalog1(getResources());
//创建列表
ListView listViewCatalog=(ListView)findViewById(R.id.listView1);
setAdapter(新产品适配器1(MPProductList1,getLayoutInflater());
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Intent CatalogIntent=新的Intent(getBaseContext(),CatalogActivity.class);
CatalogIntent.putExtra(ShoppingCartHelper.PRODUCT_索引,位置);
星触觉;
}
});
}
}
catalogActivity.java

public class ProductAdapter1 extends BaseAdapter {

 private List<Product1> mProductList1;
 private LayoutInflater mInflater;

 public ProductAdapter1(List<Product1> list, LayoutInflater inflater) {
  mProductList1 = list;
  mInflater = inflater;  
 }

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

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

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

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  final ViewItem item;

  if (convertView == null) {
   convertView = mInflater.inflate(R.layout.itemlistcon,null);
   item = new ViewItem();

   item.productTitle = (TextView) convertView.findViewById(R.id.textView1);

   convertView.setTag(item);
  } else {
   item = (ViewItem) convertView.getTag();
  }

  Product1 curProduct = mProductList1.get(position);
  item.productTitle.setText(curProduct.title);
  return convertView;
 }


 public class ViewItem 
 {
  TextView productTitle;
 }

}

公共类CatalogActivity扩展活动{
私人名单;
/**在首次创建活动时调用。
*@param目录意图
*@param位置*/
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.catalog);
int ListIndex=getIntent().getExtras().getInt(ShoppingCartHelper.PRODUCT_索引);
MPProductList=ShoppingCartHelper.getCatalog(getResources());
如果(ListIndex==1)
{
MPProductList=ShoppingCartHelper.getCatalog2(getResources());
}
如果(ListIndex==2)
{
MPProductList=ShoppingCartHelper.getCatalog3(getResources());
}
//创建列表
ListView listViewCatalog=(ListView)findViewById(R.id.listViewCatalog);
setAdapter(新产品适配器(MPProductList,getLayoutFlater(),false));
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Intent ProductDetailsInt=新的Intent(getBaseContext(),ProductDetailsActivity.class);
ProductDetailsInt.putExtra(ShoppingCartHelper.PRODUCT\u索引,位置);
startActivity(产品详细信息);
}
});
按钮viewShoppingCart=(按钮)findViewById(R.id.ButtonViewCart);
viewShoppingCart.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent viewShoppingCartIntent=新意图(getBaseContext(),ShoppingCartActivity.class);
startActivity(viewShoppingCartIntent);
}
});
}
public void onBackPressed(){
Intent ListIntent=new
public class ProductAdapter1 extends BaseAdapter {

 private List<Product1> mProductList1;
 private LayoutInflater mInflater;

 public ProductAdapter1(List<Product1> list, LayoutInflater inflater) {
  mProductList1 = list;
  mInflater = inflater;  
 }

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

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

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

 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
  final ViewItem item;

  if (convertView == null) {
   convertView = mInflater.inflate(R.layout.itemlistcon,null);
   item = new ViewItem();

   item.productTitle = (TextView) convertView.findViewById(R.id.textView1);

   convertView.setTag(item);
  } else {
   item = (ViewItem) convertView.getTag();
  }

  Product1 curProduct = mProductList1.get(position);
  item.productTitle.setText(curProduct.title);
  return convertView;
 }


 public class ViewItem 
 {
  TextView productTitle;
 }

}