2012-06-13 59 views
0

我在android listview中定位时遇到了一些麻烦,下一个活动不加载,而他们都在清单中。在android中的位置listview

这里是我的代码:

package com.WNF; 

import android.app.ListActivity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 


public class Actiemenu extends ListActivity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // storing string resources into Array 
    String[] actiemenu = getResources().getStringArray(R.array.actiemenu); 

    // Binding resources Array to ListAdapter 
    this.setListAdapter(new ArrayAdapter<String>(this, R.layout.actiemenu, R.id.label,  actiemenu)); 

    ListView lv = getListView(); 

    // listening to single list item on click 
    lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, 
      int position, long id) { 

      switch(position) { 
      case '0' :    
       Intent intent = new Intent(Actiemenu.this, Acties.class); 
       intent.putExtra("extras", position); 
       startActivity(intent); 
       break; 
      case '1' :    
       Intent intent2 = new Intent(Actiemenu.this, Acties2.class); 
       intent2.putExtra("extras", position); 
       startActivity(intent2); 
       break; 
     } 


     } 
    }); 

} 
} 

接收意向的代码也存在于Acties

package com.WNF; 


import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 

public class Acties extends Activity{ 
// aanroepen van een bundle, kan je elke naam geven die je maar wilt, 
//zolang de bundle als de onCreate maar dezelfde naam hebben 
@Override 
public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     // de setContentView is niets meer dan de gegevens van de 
//View ophalen uit de R.layout.naamvandeXML 
     // Onthoud goed dat je dezelfde XMLs voor meerdere pagina's 
//kan gebruiken. 
     setContentView(R.layout.acties1); 

     Intent i = getIntent(); 
     i.getStringExtra("extras"); 
    } 
} 

有人能看到我在做什么错? 感谢提前:)

+0

我要去睡觉现在这里由xD它的上午01点10分,我会在必要时回答明天;) –

回答

1

你的switch语句错误地试图匹配整数位置值的ASCII字符'0''1'。由于'0'的ASCII值为48,并且'1'的ASCII值为49,因此当您单击前两个列表项时没有任何反应。

你应该消除单引号和简单的使用整数:

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

    switch(position) { 
    case 0: //Instead of '0' 
     Intent intent = new Intent(Actiemenu.this, Acties.class); 
     intent.putExtra("extras", position); 
     startActivity(intent); 
     break; 
    case 1: //Instead of '1' 
     Intent intent2 = new Intent(Actiemenu.this, Acties2.class); 
     intent2.putExtra("extras", position); 
     startActivity(intent2); 
     break; 
} 
+0

谢谢,它的工作原理现在:) –