我有两个屏幕,一个在列表视图 “ListView Screen”中列出记录,第二个用于显示特定记录“特定记录屏幕”。我正在使用grid_item.xml,它用于保存列表视图中一行的数据。grid_item.xml 如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/col1"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="50dip"
/>
<TextView android:id="@+id/col2"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="200dip"
/>
<TextView android:id="@+id/col3"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="200dip"
/>
<TextView android:id="@+id/col4"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:width="200dip"
/>
<ImageView android:id="@+id/editimage"
android:layout_width="30dip"
android:layout_height="30dip"
android:background="@drawable/edit"
android:clickable="true"
android:onClick="ClickHandlerForEditImage"
/>
</LinearLayout>
有一个 ImageView 用于在单击时打开“特定记录屏幕”。我已将“ClickHandlerForEditImage”事件附加到该图像视图(请参阅上述 xml 的最后几行)。
编码:
public void ClickHandlerForEditImage(View v)
{
LinearLayout vwParentRow = (LinearLayout)v.getParent();
TextView txtId = (TextView)vwParentRow.getChildAt(0);
long rowId = CommonMethods.GetLong(txtId);
//Log.d("Inspection", "onItemClick Postion "+ rowId);
//vwParentRow.refreshDrawableState();
if(rowId > 0)
{
Intent intent = new Intent("com.moftak.db.DatabasesActivity");
intent.putExtra("RecordId", rowId);
startActivity(intent);
}
}
现在的问题是它工作正常,打开了“特定记录屏幕”,但是当我按下“后退按钮”时,显示“ListView 屏幕”但 ListView(或 ListView 项目)消失了。
有人可以帮助我。提前感谢您的宝贵时间和帮助。