Android ListView单击侦听器不起作用

时间:2013-10-09 19:31:56

标签: android android-intent android-listview listener

我找到了关于使用ListView项目图标的优秀教程。 http://www.debugrelease.com/2013/06/24/android-listview-tutorial-with-images-and-text/

我完全按照它,我的ListView布局看起来很棒!但是......我无法让onclick监听器为ListView工作。我只是停留在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下得到了红色的曲线。不知道我做错了什么。

3 个答案:

答案 0 :(得分:2)

您需要致电

listview.setOnClickListener(onListItemClick()) ;

listview.setAdapter(adapter) ;

答案 1 :(得分:2)

使用没有附加侦听器,请使用此

listview.setOnItemClickListener(new onItemClickListener(){

@Override
protected void onListItemClick(){

//Do stuff
}
});    

答案 2 :(得分:1)

onListItemClick工作。使用ListActivity扩展您的课程。

public class Main extends ListActivity {

参考标准示例

http://developer.android.com/guide/topics/ui/layout/listview.html