Wie zu verwenden edittext.getText().toString()

Möchte ich es so machen, dass es eine ListView mit einem Button oben. Der Benutzer klickt auf diese Schaltfläche, und es öffnet sich ein dialog mit einem EditText - und eine OK-und Abbrechen-button. Wenn der Benutzer auf OK klickt, was auch immer text eingegeben wird, in der EditText bekommt in der SQLiteDatabase, die sich in der ListView.

Habe ich bereits meine SQLiteDatabase und haben ein adapter für die Liste zu zeigen, die SQLiteDatabase, aber ich brauche, um herauszufinden, wie man die edittext.getText().toString() Methode hinzufügen, um die SQLiteDatabase. Ich brauche ein code-Beispiel.

Wenn Sie es brauchen, hier ist mein main .java:

package com.gantt.shoppinglist;

import android.app.Dialog;
import android.app.ListActivity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class ShoppingList extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final DataHelper dataHelper = new DataHelper(this);
        ListView lv = (ListView) findViewById(android.R.id.list);

        SimpleCursorAdapter adapter = null;
        final SQLiteDatabase db = dataHelper.selectAll();
        Cursor c = db.rawQuery("SELECT DISTINCT oid as _id,name FROM table1 ORDER BY name", null);
        if (c.moveToFirst()) {
            String[] columnNames = new String[]{"name"};
            int[] list = new int[]{android.R.id.list};
            adapter = new SimpleCursorAdapter(this, R.layout.rowlayout, c, columnNames, list);
        }
        lv.setAdapter(adapter);

        Button button1main = (Button) findViewById(R.id.add);
        button1main.setOnClickListener(new OnClickListener()  {
            @Override
            public void onClick(View v)  {
            final Dialog additem = new Dialog(ShoppingList.this);
            additem.setContentView(R.layout.maindialog);
            final EditText et = (EditText)additem.findViewById(R.id.edittext);
            additem.setTitle("Type your item");
            additem.setCancelable(true);
            et.setHint("Type the name of an item...");

            Button button = (Button) additem.findViewById(R.id.cancel);
            button.setOnClickListener(new OnClickListener()  {
                @Override
                public void onClick(View v)  {
                    additem.dismiss();
                }
            });
            additem.show();

            Button ok = (Button) additem.findViewById(R.id.ok);
            ok.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    et.getText().toString();
                    additem.dismiss();
                    et.setText("");
                }
            });
       }
        });
    }
}

Hier ist mein DataHelper Klasse:

package com.gantt.shoppinglist;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteStatement;
import android.util.Log;

public class DataHelper {

       public static final String DATABASE_NAME = "items.db";
       public static final int DATABASE_VERSION = 1;
       public static final String TABLE_NAME = "table1";
       public static final String KEY_ROWID = "_id";

       private Context context;
       private SQLiteDatabase db;

       private SQLiteStatement insertStmt;
       private static final String INSERT = "insert into " 
          + TABLE_NAME + "(name) values (?)";

       public DataHelper(Context context) {
          this.context = context;
          OpenHelper openHelper = new OpenHelper(this.context);
          this.db = openHelper.getWritableDatabase();
          this.insertStmt = this.db.compileStatement(INSERT);
       }

       public long insert(String name) {
          this.insertStmt.bindString(1, name);
          return this.insertStmt.executeInsert();
       }

       public void deleteAll() {
          this.db.delete(TABLE_NAME, null, null);
       }

       public SQLiteDatabase selectAll() {
          List<String> list = new ArrayList<String>();
          Cursor cursor = this.db.query(TABLE_NAME, new String[] { "name" }, 
            null, null, null, null, "name desc");
          if (cursor.moveToFirst()) {
             do {
                list.add(cursor.getString(0)); 
             } while (cursor.moveToNext());
          }
          if (cursor != null && !cursor.isClosed()) {
             cursor.close();
          }
          return db;
       }

       public static String getDatabaseName() {
        return DATABASE_NAME;
    }

    private static class OpenHelper extends SQLiteOpenHelper {

          OpenHelper(Context context) {
             super(context, getDatabaseName(), null, DATABASE_VERSION);
          }

          @Override
          public void onCreate(SQLiteDatabase db) {
              db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT");

          }

          @Override
          public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
             Log.w("Example", "Upgrading database, this will drop tables and recreate.");
             db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
             onCreate(db);
          }
       }
    }
  • Sie klebte wie mehrere hundert Zeilen code da oben. Das können Sie möglicherweise nicht alle relevant. Die Zeile(N) oberhalb benötigen Sie modifiziert/erweitert?
InformationsquelleAutor Cg2916 | 2011-02-13
Schreibe einen Kommentar