2012-10-05 14 views
5

私はアンドロイドでグリッドビューを使用しているショップの顧客の詳細を開発しています。私は自分のデータベースを使って顧客の詳細を取得します。私はandroidのalertboxポップアップを使用してgridviewからデータベースを更新

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()メソッドにcustomergrid.xmlを使用し、グリッドCRで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.. 

    } 
}); 

誰もが完了し、このタスクのために私を助けて...

答えて

0

データベース・テーブルhereを更新するためのコードと、警告ボックスの概念を見つけることができますhere

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

+0

をあなたを助けることが、私は製品名と製品の数量の値を入力するための2つのエディットボックスを実行する必要が。また、各エディットボックスはそれぞれのTextViewを保持します。例では、私は1つのEditboxしか得ることができませんでした。どのように私は、2 Textview、2 Edittextと2つのボタン(Submit&Cancel)でダイアログボックスを得ることができます。 – MGR

関連する問題