在android中使用alertbox弹出窗口从gridview更新数据库



我正在android中使用网格视图为一家商店开发客户详细信息。我使用数据库获取客户的详细信息。我需要在执行交易时使用用于输入库存数量的警告框来更新客户处理的库存。。

customergrid.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tab1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<GridView
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="357dp"
android:numColumns="1"
android:stretchMode="columnWidth" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="cancel" />
</LinearLayout>

而且,对于每一行,我都使用了一个自定义的Xml文件。。

customerrow.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout  xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow>
<TextView
android:layout_width="50px"
android:layout_height="wrap_content"
android:id="@+id/row_ID"
android:padding="5px"
android:layout_weight="1" />
<TextView 
android:layout_width="50px"
android:layout_height="wrap_content"
android:id="@+id/key_ID"
android:padding="5px"
android:layout_weight="1" />
<TextView 
android:layout_width="50px"
android:layout_height="wrap_content"
android:id="@+id/key_Description"
android:padding="5px"
android:layout_weight="1" />
</TableRow>
</TableLayout>

我在Oncreate()方法中使用了customerrid.xml,并在网格创建中使用了customerrow.xml,如下代码所示。。

public void FillGrid() {
DatabaseHelper sqdb = new DatabaseHelper(this);
sqdb.openDataBase();
Cursor cursor;
GridView grid = (GridView) findViewById(R.id.grvData);
cursor = sqdb.getGridData();
sqdb.close();
if (cursor != null) {
startManagingCursor(cursor); 
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.customerrow, cursor, new String[] { CustomerActivity.KEY_ROW_ID,
CustomerActivity.KEY_ID, CustomerActivity.KEY_DESCRIPTION }, new int[] {
R.id.txtGrv_id, R.id.txtGrvid, R.id.txtGrvDescription } );
adapter.setViewResource(R.layout.gridlayout);
grid.setAdapter(adapter);
}

最后,我使用了alertbox和editbox来获得客户库存数量的输入。我用这个做那项任务。。

grid.setOnItemClickListener(new  OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long arg3) {
AlertDialog.Builder b=new AlertDialog.Builder(MarkSheet.this);
b.setTitle("Employee Details");
LayoutInflater li=LayoutInflater.from(MarkSheet.this);
View v=li.inflate(R.layout.dialog, null);
b.setIcon(android.R.drawable.ic_input_get);
b.setView(v);
final TextView txtName=(TextView)v.findViewById(R.id.txtName);
final EditText Quantity=(EditText)v.findViewById(R.id.Quantity);
// Here I need to update the table while clicking the positive button, if I click negative button I need to cancel the Dialog box..
}
});

有人帮我完成这项任务吗。。

您可以在此处找到更新数据库表的代码,并在此处找到警报框的概念

您需要从单击按钮"ok"的代码中调用sqlite的更新方法。

最新更新