我找到了关于使用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下得到了红色的曲线。不知道我做错了什么。
答案 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