2014-03-06 55 views
0

我有很多項目的listview,但我的OnItemClickListener不起作用。這是我的代碼。ListView OnItemClick PutExtra方法

public String mystring; 
. 
. 
. 
public void registerClickCallback() { 
    ListView list = (ListView) findViewById(R.id.AlistView); 
    list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View viewClicked, 
       int position, long id) { 
      switch(position) 
      { 
       case 0: 
       mystring="A"; 
       Intent intent0 = new Intent(getApplicationContext(), Hlavni2.class); 
       intent0.putExtra("text1", mystring); 
        break; 
       case 1: 
       mystring="B"; 
       intent0 = new Intent(); 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
        break; 
       case 2: 
       mystring="C"; 
       intent0=New Intent(); 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
       break; 
       case 3: 
       mystring="D"; 
       intent0=New Intent(); 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
        break; 
        } 
        } 
        } 
       } 

我在做什麼錯?當我通過這個代碼的時候它可以工作,但我認爲它不好,就在這裏。

switch(position) 
      { 
      case 0: 
      mystring="A"; 
      Intent intent0 = new Intent(getApplicationContext(), Hlavni2.class); 
      intent0.putExtra("text1", mystring); 
         break; 
      case 1: 
      mystring="B"; 
      Intent intent1 = new Intent(getApplicationContext(), Hlavni2.class); 
      intent1.putExtra("text1", mystring); 
      startActivity(intent1); 
         break; 
      case 2: 
      mystring="C"; 
      Intent intent2 = new Intent(getApplicationContext(), Hlavni2.class); 
      intent2.putExtra("text1", mystring); 
      startActivity(intent2); 
        break; 
      case 3: 
      mystring="D"; 
      Intent intent3 = new Intent(getApplicationContext(), Hlavni2.class); 
      intent3.putExtra("text1", mystring); 
      startActivity(intent3); 
         break; 
         } 
         } 
         } 
        } 

我想做得更清楚些。請幫幫我 :/。

+0

「不起作用」 - >請問您能更具體嗎? – donfuxx

回答

0

如果你想要做的第一種方法,你需要初始化intentswitch case

Intent intent0 = new Intent(getApplicationContext(), Hlavni2.class); 
switch(position) 
      { 
      case 0: 
       mystring="A"; 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
        break; 
      case 1: 
       mystring="B"; 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
        break; 
      case 2: 
       mystring="C"; 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
       break; 
      case 3: 
       mystring="D"; 
       intent0.putExtra("text1", mystring); 
       startActivity(intent0); 
        break; 
        } 
        } 
        } 
       } 

出方,如果你處理所有的點擊,所以你就可以開始你的finally方法調用只是一個時間的活動

你初始化你的intent像這樣:

intent0=New Intent(); 

so after這你開始這個意圖的活動,但你想開始女巫活動?如果你在switch case之前初始化你的意圖,那麼你可以簡單地在你的方法中使用它。

+0

非常感謝! :)它現在有效 – user3297991

+0

很高興幫助你 –