2012-07-09 17 views
-2

我有一个全局变量myval,它是String类型的。如何从Android中的onItemClick ListView获取值

String[] Category={"----SELECT----","BEVERAGES","BREAKFAST","LUNCH","DINNER","DESSERTS","APPETIZERS & SIDES"}; 
String[] Beverage={"PEPSI","COKE","LASSI","FALOODA","BUTTER MILK","GREEN TEA","BADAM MILK","MASALA CHAI" }; 
String[] Breakfast={"SIRLOIN & EGG","CFS STEAK & EGG","T-BONE & EGG","TWO EGGS BREAKFAST","2EGG W/MEAT","BEL WAFFLE","BEL WAFFLE W/MEAT","BLUEBERRY CAKE","CAKES","FABULOUS FRENCH TST","MOONS","FRENCH TST"}; 
String[] Lunch={" CRAB CAKE SANDWICH","TUSCAN GRILLED CHICKEN PANINI","SOUTHWEST TURKEY CLUB"," LOBSTER ROLL","TUNA MELT"," FRENCH DIP","YOUR OWN SANDWICH"}; 
String[] Dinner={"DUBLIN BAY PRAWN","CRAB FROM BRITTANY","WHITE ASPARAGUS","BLEWIT MUSHROOM","JOHN DORY FISH","MONKFISH","VEAL SWEET BREAD","LAMB","PIGEON FRY"}; 
String[] Desserts={"ECHOURGNAC CHEESE","HAZELNUT","GARIGUETTE STRAWBERRY","MOUSSE & ZEST","APRICOT","CHOCOLATE"}; 
String[] Appetizers={"Greek Artichoke Spinach","Seafood Appetizers","Tapenade Flatbread","Cranberry Blue Cheese","Fig and Blue Cheese","Sun-Dried Tomato","Tropical Crab Rangoon"}; 

class GlobalClass extends Application { 
    public static String[] myval; 

} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.home); 
    spinner = (Spinner) findViewById(R.id.spinnerCategory); 
    l1=(ListView) findViewById (R.id.list); 
    b1=(Button)findViewById(R.id.button3); 
    b2=(Button)findViewById(R.id.button2); 
    b3=(Button)findViewById(R.id.button1); 
    e1=(EditText)findViewById(R.id.editText1); 
    e2=(EditText)findViewById(R.id.editText2); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, Category); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    final ArrayAdapter<String> bever = new ArrayAdapter<String>(this,  android.R.layout.simple_list_item_1, Beverage); 

    // Assign adapter to ListView 
    final ArrayAdapter<String> Breakf = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Breakfast); 
    final ArrayAdapter<String> lunc= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Lunch);  
    final ArrayAdapter<String> Dinn= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Dinner);  
    final ArrayAdapter<String> Dessert = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Desserts);  
    final ArrayAdapter<String> Appet= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, Appetizers);  

    spinner.setOnItemSelectedListener(new OnItemSelectedListener(){ 
     public void onItemSelected(AdapterView<?> parent, View arg1, int pos,long id){   
      String Text = parent.getSelectedItem().toString(); 
      if(Text.equals("----SELECT----")) {     
      }  
      else if(Text.equals("BEVERAGES")){ 

      l1.setAdapter(bever);    
      return; 
      }  
      else if(Text.equals("BREAKFAST")){ 

      l1.setAdapter(Breakf); 
      return; 
      } 
      else if(Text.equals("LUNCH")){ 

      l1.setAdapter(lunc); 
      return; 
      } 
      else if(Text.equals("DINNER")){ 
      l1.setAdapter(Dinn); 
      return;    
      } 
      else if(Text.equals("DESSERTS")){ 
      l1.setAdapter(Dessert); 
      return;    
      } 
      else if(Text.equals("APPETIZERS & SIDES")){ 
      l1.setAdapter(Appet); 
      return;    
      } 
     } 
     public void onNothingSelected(AdapterView<?> arg0){ 
     }    
    }); 
    l1.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> parent, View view,int position, long id) {      
       // When clicked, show a toast with the TextView text 
       Toast.makeText(getApplicationContext(), "SELECTED :: " +((TextView) view).getText(), 
       Toast.LENGTH_SHORT).show(); 
       long ii=(long) l1.getItemIdAtPosition((int) id); 
       //Get the value from listView click item     
       String[] S5=new String[]{a5}; 
       //String[] S1=new String[]{s2}; 
       GlobalClass.myval=S5; 
     });    
     b1.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 

       String tno = e1.getText().toString(); 
       int tn = Integer.parseInt(tno); 

       Intent i=new Intent(getApplicationContext(),TicketActivity.class); 
       Bundle b=new Bundle(); 
       b.putInt("Table No:", tn); 
       i.putExtras(b); 
       String et= e2.getText().toString(); 
       int et1 = Integer.parseInt(et); 
       Bundle be=new Bundle(); 
       be.putInt("Guest:", et1); 
       i.putExtras(be); 

       startActivity(i);      
      } 
     });    
     b3.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       Intent intent=new Intent(HomeActivity.this,PaynowActivity.class); 
       startActivity(intent); 
      } 
     });    
     b2.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       Intent m=new Intent(HomeActivity.this,OrderinfoActivity.class); 
       startActivity(m); 
      } 
     }); 
    }   
} 

如何在ListView中获得onItemClick的值?

+0

你想要onItemClick哪个值? – AkashG 2012-07-09 12:08:04

+0

如果我选择了很多项目,那么值存储在字符串Array.how中以获得值 – latha 2012-07-09 12:21:26

回答

1
ArrayAdapter<String> adapter=new ArrayAdapter<String>(HotelActivity.this, android.R.layout.simple_list_item_1,Category); 
     listView.setAdapter(adapter); 

     listView.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View v, int position, 
        long id) { 
       if(position>0){ 
        Intent intent=new Intent(HotelActivity.this,NewList.class); 
        intent.putExtra("position", position); 
        startActivity(intent); 
       } 
      } 
     }); 

创建新的活动,并在其XML文件中声明的ListView

NewList活动:

public class NewList extends Activity{ 
    ListView listView; 
    int pos=0; 
    ArrayAdapter<String> adapter; 
    String[] Beverage={"PEPSI","COKE","LASSI","FALOODA","BUTTER MILK","GREEN TEA","BADAM MILK","MASALA CHAI" }; 
    String[] Breakfast={"SIRLOIN & EGG","CFS STEAK & EGG","T-BONE & EGG","TWO EGGS BREAKFAST","2EGG W/MEAT","BEL WAFFLE","BEL WAFFLE W/MEAT","BLUEBERRY CAKE","CAKES","FABULOUS FRENCH TST","MOONS","FRENCH TST"}; 
    String[] Lunch={" CRAB CAKE SANDWICH","TUSCAN GRILLED CHICKEN PANINI","SOUTHWEST TURKEY CLUB"," LOBSTER ROLL","TUNA MELT"," FRENCH DIP","YOUR OWN SANDWICH"}; 
    String[] Dinner={"DUBLIN BAY PRAWN","CRAB FROM BRITTANY","WHITE ASPARAGUS","BLEWIT MUSHROOM","JOHN DORY FISH","MONKFISH","VEAL SWEET BREAD","LAMB","PIGEON FRY"}; 
    String[] Desserts={"ECHOURGNAC CHEESE","HAZELNUT","GARIGUETTE STRAWBERRY","MOUSSE & ZEST","APRICOT","CHOCOLATE"}; 
    String[] Appetizers={"Greek Artichoke Spinach","Seafood Appetizers","Tapenade Flatbread","Cranberry Blue Cheese","Fig and Blue Cheese","Sun-Dried Tomato","Tropical Crab Rangoon"}; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mylist); 


     listView=(ListView) findViewById(R.id.newlist); 
     Bundle bundle=getIntent().getExtras(); 
     if(bundle!=null){ 
      pos=bundle.getInt("position"); 
     } 

     if(pos==1){ 
      adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,Beverage); 
      listView.setAdapter(adapter); 
     } 
     else if(pos==2){ 
      adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,Breakfast); 
      listView.setAdapter(adapter); 
     } 
     else if(pos==3){ 
      adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,Lunch); 
      listView.setAdapter(adapter); 
     } 
     else if(pos==4){ 
      adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,Dinner); 
      listView.setAdapter(adapter); 
     } 
     else if(pos==5){ 
      adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,Desserts); 
      listView.setAdapter(adapter); 
     } 
     else if(pos==6){ 
      adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,Appetizers); 
      listView.setAdapter(adapter); 
     } 
    } 

} 

希望这会帮助你。

+0

您可以加入我聊天http://chat.stackoverflow.com/rooms/1278/android-discussion – AkashG 2012-07-09 13:29:00

+0

当我们点击列表项比什么将在那里在下一个活动??请加入聊天室http://chat.stackoverflow.com/rooms/6081/android-developer – AkashG 2012-07-10 06:23:29

+0

嘿,我不能进入CHAT.HOW登录 – latha 2012-07-10 08:14:47