单击项目上的listview startactivty

时间:2015-04-30 03:16:26

标签: android listview android-intent

当用户点击listview中的某个项目时,我尝试启动活动。在下面的适配器中,我在intent和onClick中遇到问题。什么可能导致失败?  更新后代码丢失}};}}字符就像编辑我的代码和

之后

我的代码     return rowView;

listView.setOnItemClickListener(new OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
       int itemPosition     = position;
       String  itemValue= (String)listView.getItemAtPosition(position);
if (itemValue.equals("1")){
Intent intent = new Intent(context, Spain.class);
context.startActivity(intent);}
else if (itemValue.equals("2")) {
Intent intent = new Intent(context, As.class);
context.startActivity(intent);}
else if(itemValue.equals("3")){
Intent intent = new Intent(context, Ma.class);
context.startActivity(intent);}
else if(itemValue.equals("4")) {
Intent intent = new Intent(context, Me.class);
context.startActivity(intent);}
else if (itemValue.equals("5")){ 
Intent intent = new Intent(context, Gr.class);
context.startActivity(intent);}
 else if(itemValue.equals("6")) {
Intent intent = new Intent(context, Th.class);
context.startActivity(intent);}
else if(itemValue.equals("7")) {  
Intent intent = new Intent(context, Ukr.class);
context.startActivity(intent);}
else if (itemValue.equals("8")){
Intent intent = new Intent(context, Po.class);
context.startActivity(intent);}
else if (itemValue.equals("9")) { 
Intent intent = new Intent(context, France.class);
context.startActivity(intent);}
else if (itemValue.equals("10")){
Intent intent = new Intent(context, UK.class);
context.startActivity(intent);}
else if (itemValue.equals("11")) { 
Intent intent = new Intent(context, Ksa.class);
context.startActivity(intent);}
else if (itemValue.equals("12"))  {
Intent intent = new Intent(context, Ger.class);
context.startActivity(intent);}
else if (itemValue.equals("13"))  {
Intent intent = new Intent(context, Canda.class);
context.startActivity(intent);}
else if (itemValue.equals("14")){
Intent intent = new Intent(context, Turkey.class);
context.startActivity(intent);}
else if (itemValue.equals("15"))    {
Intent intent = new Intent(context, Italy.class);
context.startActivity(intent);}
else if (itemValue.equals("16")) {
Intent intent = new Intent(context, Russia.class);
context.startActivity(intent);}
else if (itemValue.equals("17")) {
Intent intent = new Intent(context, China.class);
context.startActivity(intent);}
else if (itemValue.equals("18")) {
Intent intent = new Intent(context, Usa.class);
context.startActivity(intent);}
      })};}

2 个答案:

答案 0 :(得分:0)

更改您的代码
Intent intent = new Intent(this, Ksa.class);
startActivity(intent);

Intent intent = new Intent(context, Ksa.class);
context.startActivity(intent);

在适配器类中,为什么要声明listview并调用onItemClickListener方法?您还没有初始化listView。

注意: 当您从适配器类中单击项目时,此代码将起作用。

答案 1 :(得分:0)

您的代码中存在一些问题

  1. 您的适配器中不需要具有List视图的实例,并且List View也未初始化,这将导致空指针异常
  2. 在这一行UPDATE db_scheduling.tbl_student SET section ='a' WHERE yrlevel IN ( SELECT id FROM ( SELECT yrlevel FROM db_scheduling.tbl_student ORDER BY grade DESC LIMIT 5, 5 ) tmp ); 中,您试图从List View中获取一个未初始化的项目,并且您没有使用在适配器中初始化的值。理想情况下,该行应该如下所示

    String itemValue= (String) listView.getItemAtPosition(position);

  3. String itemValue=values[position]中if和else部分的代码执行相同的工作,您应该使用OnItemClickListener代替context