2014-03-06 61 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

很高兴帮助你 –