我需要一些幫助。我想從我的自定義ListView
中提取數據,但不知道如何。我想獲取在另一項活動中選擇的項目的數據。我必須顯示用戶選擇的菜單。Android自定義列表視圖事件監聽器
這裏是我的代碼:
package com.example.mouhamedalysidibe.restaurant;
public class Menus extends AppCompatActivity {
public TabHost host ;
int[] Imagesfood = {R.drawable.pizza,R.drawable.baguette, R.drawable.pastas , R.drawable.donuts , R.drawable.snacks };
String [] nomsfood = {"Pizza" , "Baguettes" ,"Pastas" , "Donuts" , "Snacks"};
String [] descriptionfood = {"Les meilleurs pizzas de Dakar" , "Explosion de saveurs a prix mini" , "Laissez vous tenter" , "Al dente et tellement genereuses ", "Un delice a chaque bouchée"};
int[] Imagesdrink = {R.drawable.gazeuse,R.drawable.alcool, R.drawable.cocktail , R.drawable.chaude};
String [] nomsdrink = {"Boissons gazeuses" , "Alccol " ,"Cocktails" , "Boissons chaudes"};
String [] descriptiondrink = {"Pensez a vous desalterer" , "De la bonne qualite" , "Decouvrez nos coktails" , "Un bon cafe ne fait jamais de mal"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menus);
//tabhost
host = (TabHost)findViewById(R.id.tabHost);
host.setup();
//Layouts
TabHost.TabSpec spec = host.newTabSpec("EAT");
spec.setContent(R.id.Eat);
spec.setIndicator("FOOD");
host.addTab(spec);
//Widgets
spec = host.newTabSpec("DRINKS");
spec.setContent(R.id.Drink);
spec.setIndicator("DRINK");
host.addTab(spec);
TextView tablefood = (TextView)findViewById(R.id.table);
TextView tableDrink =(TextView)findViewById(R.id.tableD);
Intent intent = getIntent();
String tabletextfood = intent.getStringExtra("table");
tablefood.setText(""+tabletextfood);
String tabletextdrink = intent.getStringExtra("table");
tableDrink.setText(""+tabletextdrink);
//Listview Food
final ListView listmenufood = (ListView)findViewById(R.id.listView_food);
CustomAdapterFood customAdapterFood = new CustomAdapterFood();
listmenufood.setAdapter(customAdapterFood);
listmenufood.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
view =(View) adapterView.getItemAtPosition(i);
Intent intent = new Intent(Menus.this,Plats.class);
startActivity(intent);
}
});
//Listview drink
ListView listmenudrink = (ListView)findViewById(R.id.listView_drink);
CustomAdapterDrink customAdapterDrink = new CustomAdapterDrink();
listmenudrink.setAdapter(customAdapterDrink);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==R.id.appel){
final AlertDialog retry = new AlertDialog.Builder(this).create();
retry.setTitle(R.string.app_name);
retry.setMessage("MERCI DE PATIENTER QUELQUES INSTANTS , NOUS VENONS BIENTOT PRENDRE VOTRE COMMANDE");
retry.setButton(AlertDialog.BUTTON_NEUTRAL,"OK",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i) {
retry.cancel();
}
});
retry.show();
}
return super.onOptionsItemSelected(item);
}
// Foods
public class CustomAdapterFood extends BaseAdapter{
@Override
public int getCount() {
return Imagesfood.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.customlayout ,null);
ImageView imageView = (ImageView)view.findViewById(R.id.img);
TextView nom = (TextView)view.findViewById(R.id.TextView_nom);
TextView descrip =(TextView)view.findViewById(R.id.TextView_description);
imageView.setImageResource(Imagesfood[i]);
nom.setText(nomsfood[i]);
descrip.setText(descriptionfood[i]);
return view;
}
}
//Drinks
public class CustomAdapterDrink extends BaseAdapter{
@Override
public int getCount() {
return Imagesdrink.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = getLayoutInflater().inflate(R.layout.customdrinklayout,null);
ImageView imageView = (ImageView)view.findViewById(R.id.img);
TextView nom = (TextView)view.findViewById(R.id.TextView_nom);
TextView descrip =(TextView)view.findViewById(R.id.TextView_description);
imageView.setImageResource(Imagesdrink[i]);
nom.setText(nomsdrink[i]);
descrip.setText(descriptiondrink[i]);
return view;
}
}
}
這裏有什麼問題嗎?你需要將列表視圖中的特定值傳遞給另一個活動嗎? –