我仍然遇到ListView点击处理程序的问题。事件没有被解雇,所以 我没有看到调试信息。
我想使用Activity而不是ListActivity
这又是我的代码:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Capture our button from layout
//appState = ((MyApp)getApplicationContext());
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.listr);
//setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.fishicon);
setupDB();
populateList3();
ListView lv = (ListView) findViewById(R.id.list);
// lv.setClickable(true);
lv.setOnItemClickListener(new OnItemClickListener() {
//@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(ListRecords.this,"Clicked!", Toast.LENGTH_LONG).show();
}
});
这是XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_height="fill_parent">
<!--Put form controls here-->
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="400dp" />
<Button
android:id="@+id/previousbutton"
android:gravity="center_horizontal"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:text="Previous Menu"/>
</LinearLayout>
我无法弄清楚点击监听器无法正常工作的原因。
由于 麦克
答案 0 :(得分:1)
除非您确定如何使用它们,否则不要使用内联侦听器 - 它们可能超出范围并导致各种问题。
试试这个......
public class MyActivity extends Activity
implements AdapterView.onItemClickListener {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listr);
ListView lv = (ListView) findViewById(R.id.list);
lv.setOnItemClickListener(this);
// Do whatever else you need to do
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Do whatever
}
}
答案 1 :(得分:0)
我会取消注释@Override
。它可以保证您的签名与您尝试覆盖的方法相匹配。
如果你的方法签名是正确的,那么我怀疑问题出在populateList3()
。你也可以发布那些代码吗?
答案 2 :(得分:0)