如何从Android中的onItemClick ListView获取值

时间:2012-07-09 12:01:40

标签: android listview onitemclicklistener

我有一个全局变量myval,它是String类型。

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的值?

1 个答案:

答案 0 :(得分: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文件中创建新的Activity并声明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);
        }
    }

}

希望这会对你有所帮助。