2012-10-05 8 views
5

Ich entwickle ein Customer-Details für ein Geschäft mit Grid-Ansicht in Android. Ich erhalte die Details meiner Kunden mit meiner Datenbank. Ich brauche die Bestände des Kunden behandelt aktualisieren ein Warnfeld für die Eingabe der Status Menge verwendet, während die Transaktion durchführen ..Aktualisieren der Datenbank von Gridview mit einem Popup-Alarmfenster in 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> 

Und für jede Zeile ich eine angepasste XML verwendet haben Datei ..

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> 

und ich habe customergrid.xml auf der OnCreate() Methode und verwenden customerrow.xml im Grid cr eation wie wie der folgenden Code ..

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); 
} 

Und schließlich habe ich Alert-Box mit einem editbox für das Erhalten der Eingabe von Status Menge des Kunden. Ich benutze dies für diese Aufgabe ..

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

    } 
}); 

jemand mir helfen für die komplette diese Aufgabe ..

Antwort

0

Sie den Code für die Aktualisierung der Datenbanktabelle finden here und das Konzept der Warnfeld here

Sie müssen die update-Methode von sqlite aus dem Code aufrufen, in dem Sie auf den Button "ok" geklickt haben.

+0

In meinem Dialogfeld, ich habe zwei Editbox auszuführen, um den Wert von Produktname eingeben und Menge des Produkts . Und jede Editbox behält das jeweilige TextView bei. Im Beispiel könnte ich nur eine Editbox bekommen. Wie kann ich das Dialogfeld mit 2 Textview, 2 Edittext und 2 Buttons (Submit & Cancel) bekommen .. – MGR