5

Android のグリッド ビューを使用して、ショップの顧客の詳細を作成しています。データベースを使用して顧客の詳細を取得します。トランザクションの実行中に在庫数量を入力するためのアラート ボックスを使用して、顧客が取り扱う在庫を更新する必要があります。

顧客グリッド.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() メソッドで customergrid.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);
 }

そして最後に、顧客の在庫数量の入力を取得するための編集ボックスを備えたアラート ボックスを使用しました。私はそのタスクにこれを使用します..

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..

     }
 });

誰でもこのタスクを完了するために私を助けて..

4

1 に答える 1

0

データベーステーブルを更新するためのコードはここ にあり、アラートボックスの概念はここにあります

「OK」ボタンをクリックしたコードから、sqlite の update メソッドを呼び出す必要があります。

于 2012-10-05T04:44:12.213 に答える