我遇到了第一個Android應用程序的問題。Android:onListItemClick未在ListActivity中調用
我有子類ListActivity,我沒有運氣得到重寫的onListItemClick()來響應點擊事件。我讀過焦點可能是一個問題,但改變XML文件中的焦點似乎並不奏效。這是相關的代碼位。任何人都可以看到我發現了什麼?
public class Notepadv1 extends ListActivity {
private int mNoteNumber = 1;
private NotesDbAdapter mDbHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.notepad_list);
mDbHelper = new NotesDbAdapter(this);
mDbHelper.open();
fillData();
}
private void fillData() {
// Get all of the notes from the database and create the item list
Cursor c = mDbHelper.fetchAllNotes();
startManagingCursor(c);
String[] from = new String[] { NotesDbAdapter.KEY_TITLE };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
}
@Override
public void onListItemClick (ListView l, View v, int position, long id){
super.onListItemClick(l, v, position, id);
AlertDialog alert = new AlertDialog.Builder(this).create();
String message = "row clicked!";
alert.setMessage(message);
alert.show();
}
notepad_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dividerHeight="6dp"/>
<TextView android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_notes" />
</LinearLayout>
而且notes_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:focusable="false"/>
哈哈!非常感謝。我是一個笨蛋。點擊文字現在工作正常。乾杯! – nrhorner 2012-07-06 21:15:04