Android ListView Click Listener 不起作用



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

我完全遵循了它,我的 ListView 布局看起来很棒!但。。。我无法让单击侦听器为列表视图工作。我只是停留在列表视图屏幕上。这是我放置侦听器的 Main.java 代码。我正在使用Deepak的(来自上面的链接(项目和项目适配器类,完全没有变化。我只更改了他的模型类以输入我自己的图标文件名。我错过了什么?

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;
        }
    });    
}

谢谢安库尔,我如上所述修改了主.java文件。现在我在"一切"下面有红色波浪线。不知道我做错了什么。

你需要调用

listview.setOnClickListener(onListItemClick()) ;

listview.setAdapter(adapter) ;

使用没有附加侦听器,使用这个

listview.setOnItemClickListener(new onItemClickListener(){
@Override
protected void onListItemClick(){
//Do stuff
}
});    

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

public class Main extends ListActivity {

参考标准示例

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

最新更新