ListView OnItemClick PutExtra方法

时间:2014-03-06 18:33:14

标签: android eclipse string

我有很多项目的listview但我的OnItemClickListener不起作用。这是我的代码。

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;
                        }
                       }
                      }
                     }

我想更清楚地做到这一点。请帮帮我:/。

1 个答案:

答案 0 :(得分:0)

如果您想首先接近,则需要初始化intent的{​​{1}}

switch 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

所以在此之后你就开始了这个意图的活动,但你想开始做活动吗?如果你在切换案例之前初始化你的意图,那么你可以简单地在你的方法中使用它。