我有一个扩展 ListActivity 的类,它工作正常
然后在 onListItemClick() 我使用 getSelectedItemPosition() 并且它总是返回 -1
PS getSelectedItemId() 返回一些长数字,如 994393434
public class TasksShowActivity extends ListActivity {
private Cursor mCursor;
private ListAdapter mAdapter;
private static final String[] mContent = new String[] {
TasksDbHelper._ID, TasksDbHelper.NAME,
TasksDbHelper.USER};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCursor = managedQuery(
TasksProvider.CONTENT_URI, mContent, null, null, null);
mAdapter = new SimpleCursorAdapter(this,
R.layout.tasks, mCursor,
new String[] {TasksDbHelper.NAME, TasksDbHelper.USER},
new int[] {R.id.name, R.id.date});
setListAdapter(mAdapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, final long id) {
super.onListItemClick(l, v, position, id);
Toast toast = Toast.makeText(this, "Position: "+this.getSelectedItemPosition() , Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
}
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tasks_root_element">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:textSize="18sp"
/>
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textSize="18sp"
android:paddingRight="10px"
/>
</RelativeLayout>