Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过使用Intent传递ListView_Java_Android_Listview_Android Intent_Android Activity - Fatal编程技术网

Java 通过使用Intent传递ListView

Java 通过使用Intent传递ListView,java,android,listview,android-intent,android-activity,Java,Android,Listview,Android Intent,Android Activity,我已创建一个列表视图,其中包含- “婴儿用品” “面包店” “烘焙” “饮料” “罐头食品” “谷物早餐” “调味品” “乳制品” “冷冻食品” “杂项” “非食品项目” “意大利面/米饭” “零食” 然后,我还想为每个列表视图创建一个onClick布局 如果我在购物项目(ListView)中单击婴儿项目,如何使用婴儿项目布局的意图 购物项目(JAVA) 公共类ShoppingItems扩展了ActionBarActivity{ 列表视图列表视图; 阵列适配器; String[]item_c

我已创建一个列表视图,其中包含-

  • “婴儿用品”
  • “面包店”
  • “烘焙”
  • “饮料”
  • “罐头食品”
  • “谷物早餐”
  • “调味品”
  • “乳制品”
  • “冷冻食品”
  • “杂项”
  • “非食品项目”
  • “意大利面/米饭”
  • “零食”
然后,我还想为每个列表视图创建一个onClick布局

如果我在购物项目(ListView)中单击婴儿项目,如何使用婴儿项目布局的意图

购物项目(JAVA)
公共类ShoppingItems扩展了ActionBarActivity{
列表视图列表视图;
阵列适配器;
String[]item_category={“婴儿用品”、“面包店”、“烘焙”,
“饮料”、“罐头食品”、“谷物早餐”、“调味品”,
“乳制品”、“冷冻食品”、“杂项”、“非食品项目”,
“意大利面/米饭”、“小吃”};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u shopping\u items);
listView=(listView)findViewById(R.id.list\u视图);
adapter=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1,item\u category);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+“已选中”,Toast.LENGTH_LONG.show();
}
});
}
婴儿用品(JAVA)
public class Baby_项目扩展了ActionBarActivity{
ArrayList产品=新的ArrayList();
ListAdapter-boxAdapter;
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u baby\u项目);
ListView lvMain=(ListView)findViewById(R.id.lvbabyitems);
lvMain.setAdapter(boxAdapter);
}
void fillData(){

对于(int i=1;i检查是否了解有关
ListView
实现的基本知识。您可以使用Intent在
ListView
项目单击中启动新的
活动。

在onClick方法中尝试此操作

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+ " is selected",Toast.LENGTH_LONG).show();

             Intent intent = new Intent(ShoppingItems.this, Baby_Items.class);
            intent.putExtra("baby_item", "" + parent.getItemAtPosition(position));
            startActivity(intent);
        }
    });

您好,先生!您能给我指点一下吗..因为,我不知道我应该把您的代码放在哪一部分。但是“家长”和“位置”是红色的。我试图去掉那一行,然后玩?intent.putExtra(“宝贝项目”,“家长”+parent.getItemAtPosition(位置));该行的父项和位置只需复制n粘贴到列表视图的上面部分单击侦听器即可..它将正常工作..没有错误。。
public class Baby_Items extends ActionBarActivity {

ArrayList<Products> products = new ArrayList<Products>();
ListAdapter boxAdapter;
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_baby__items);

    ListView lvMain = (ListView) findViewById(R.id.lvbabyitems);
    lvMain.setAdapter(boxAdapter);
}

void fillData() {
    for (int i = 1; i <= 20; i++) {
        products.add(new Products("Products " + i, i * 100, false));

    }
}

public void showResult(View v) {
    String result = "Selected Product are :";
    int totalAmount=0;
    for (Products p : boxAdapter.getBox()) {
        if (p.box){
            result += "\n" + p.name;
            totalAmount+=p.price;
        }
    }
    Toast.makeText(this, result+"\n"+"Total Amount:="+totalAmount, Toast.LENGTH_LONG).show();
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+ " is selected",Toast.LENGTH_LONG).show();

             Intent intent = new Intent(ShoppingItems.this, Baby_Items.class);
            intent.putExtra("baby_item", "" + parent.getItemAtPosition(position));
            startActivity(intent);
        }
    });
if (getIntent().getExtras().containsKey("baby_item")) {

            String item = getIntent().getStringExtra("baby_item");

        }