我有一个班级,可以延长 清单活动,它的工作很好
然后在 ListTroundClick () 中, 我使用“ 获取选中的项目位置” (), 并总是返回 - 1 。
P.S 获得选中的项目Id () 返回一些长的号码, 如 9943934 。
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>