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
- “婴儿用品”
- “面包店”
- “烘焙”
- “饮料”
- “罐头食品”
- “谷物早餐”
- “调味品”
- “乳制品”
- “冷冻食品”
- “杂项”
- “非食品项目”
- “意大利面/米饭”
- “零食”
公共类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");
}