单击
我已经创建了一个包含-
的List View- "婴儿用品""面包房"
- "烘烤" "饮料""罐头"
- "谷物早餐" "调味品"
- "奶" "冷冻食品"
- "杂项"
- "非食品项目"
- "意大利面/大米"
- "零食"
然后,我还想为每个列表视图创建一个onClick布局。
如果我点击Shopping Items (ListView)中的Baby Items
购物项目(JAVA)
public class ShoppingItems extends ActionBarActivity {
ListView listView;
ArrayAdapter<String> adapter;
String[] item_category = {"Baby Items", "Bakery", "Baking",
"Beverages", "Canned Goods", "Cereal Breakfast", "Condiments",
"Dairy", "Frozen Foods", "Miscellaneous", "Non-Food Items",
"Pasta / Rice", "Snacks"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shopping_items);
listView = (ListView) findViewById(R.id.list_view);
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,item_category);
listView.setAdapter(adapter);
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();
}
});
}
<标题> BABY_ITEMS (JAVA) 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
实现的基础知识。
ListView
项,可以使用Intent开始新的Activity
。试试这个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);
}
});
和在Baby_Items活动中获得额外的数据,如
if (getIntent().getExtras().containsKey("baby_item")) {
String item = getIntent().getStringExtra("baby_item");
}