2013-10-09 75 views
1

我發現這個優秀的教程使用圖標ListView項目。 http://www.debugrelease.com/2013/06/24/android-listview-tutorial-with-images-and-text/Android ListView單擊監聽器不起作用

我完全按照它,我的ListView佈局看起來不錯!但是...我無法獲得爲ListView工作的onclick監聽器。我只是停留在ListView屏幕上。這裏是我放置監聽器的Main.java代碼。我正在使用Deepak(從上面的鏈接)Item和ItemAdapter類完全沒有變化。我只改變他的Model類來放入我自己的圖標文件名。我錯過了什麼?

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.widget.ListView; 

public class Main extends Activity { 

ListView listView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Model.LoadModel(); 
    listView = (ListView) findViewById(R.id.listView); 
    String[] ids = new String[Model.Items.size()]; 
    for (int i= 0; i < ids.length; i++){ 

     ids[i] = Integer.toString(i+1); 
    } 

    ItemAdapter adapter = new ItemAdapter(this,R.layout.row, ids); 
    listView.setAdapter(adapter); 
    listView.setOnItemClickListener(new OnItemClickListener(){ 

     @Override 
     public void onListItemClick(ListView l, View v, int position, long id){ 

      Intent i; 
      switch (position) { 
      case 0: 
       i = new Intent(this, AnglesConvert.class); 
       startActivity(i); 
       break; 
      case 1: 
       i = new Intent(this, AreaConvert.class); 
       startActivity(i); 
       break; 
     } 
    });  

} 

謝謝Ankur,我修改了上面的Main.java文件。現在我在Everything下面出現了紅色的曲折。不知道我做錯了什麼。

回答

2

你需要調用

listview.setOnClickListener(onListItemClick()) ; 

listview.setAdapter(adapter) ; 
2

使用,不附加監聽到它,使用此

listview.setOnItemClickListener(new onItemClickListener(){ 

@Override 
protected void onListItemClick(){ 

//Do stuff 
} 
});  
+0

也許這應該工作,但事實並非如此。請看我上面的新Main.java文件。現在它在一切下都有紅色的波浪曲。任何想法我做錯了什麼? – user2268716

+0

列表中只有兩個項目(行)嗎? –