2012-06-13 128 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

謝謝,它的工作原理現在:) –