Android 我需要更新对话框中的行

Android 我需要更新对话框中的行,android,Android,目前,我的应用程序中的用户单击一行详细信息,并弹出一个对话框,其中包含需要更新的数据。我在数据库中已经有了更新方法,我只是不确定如何在编辑活动中的活动中实现它,你能告诉我下一步要做什么来更新字符串吗?谢谢 编辑活动 你不需要直接创建一个对话框,你需要创建一个自定义的对话框类,android开发者网站已经有了一个很好的指南:@quidproquo谢谢,我会这样做的@quidproquo我创建了一个自定义对话框,它正在工作,但我仍然不知道如何实现更新,你能给我一些建议吗?不要直接创建一个对话框,你会

目前,我的应用程序中的用户单击一行详细信息,并弹出一个对话框,其中包含需要更新的数据。我在数据库中已经有了更新方法,我只是不确定如何在
编辑活动中的活动中实现它,你能告诉我下一步要做什么来更新字符串吗?谢谢

编辑活动


你不需要直接创建一个
对话框
,你需要创建一个自定义的对话框类,android开发者网站已经有了一个很好的指南:@quidproquo谢谢,我会这样做的@quidproquo我创建了一个自定义对话框,它正在工作,但我仍然不知道如何实现更新,你能给我一些建议吗?不要直接创建一个
对话框
,你会想创建一个自定义对话框类,android开发网站已经有了一个很好的指南:@quidproquo谢谢,我会这样做的@Quiproquo我创建了自定义对话框,它正在工作,但我仍然不确定如何实现更新,你能给我一些建议吗?
    package ie.example.artur.projectrepeat;

    import android.app.Dialog;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;

    public class Edit_Activity extends AppCompatActivity implements AdapterView.OnItemClickListener {

        ListView listView;
        SQLiteDatabase sqLiteDatabase;
        DatabaseClass  database;
        Cursor cursor;
        ListDataAdapter listDataAdapter;
        Dialog d;

        Button updateBtn;
        EditText nameEditText;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.data_list_layout);

            listView = (ListView) findViewById(R.id.list_view);
            listDataAdapter = new ListDataAdapter(getApplicationContext(), R.layout.row_layout);
            listView.setAdapter(listDataAdapter);
            listView.setOnItemClickListener(this);
            database = new DatabaseClass(getApplicationContext());

            sqLiteDatabase = database.getReadableDatabase();

            Cursor cursor=database.getInformation(sqLiteDatabase);

            if (cursor.moveToFirst()) {
                do {
                    String id, product_name, category;
                    id = cursor.getString(0);
                    product_name = cursor.getString(1);
                    category = cursor.getString(2);
                    DataProvider dataProvider = new DataProvider(id, product_name, category);
                    listDataAdapter.add(dataProvider);
                } while (cursor.moveToNext()                            );

            }        
        }

        private void showDialog(){
            Dialog dialog = new Dialog(this);
            dialog.setContentView(R.layout.input);
            dialog.setTitle("Here Goes the Title");
            dialog.show();
        }

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position , long id) {
            TextView tv = (TextView) view.findViewById(R.id.product_id);

            sqLiteDatabase = database.getReadableDatabase();
        showDialog();
/*
        listView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {

                // custom dialog
                final Dialog dialog = new Dialog(context);
                dialog.setContentView(R.layout.input);
                dialog.setTitle("Title...");

                final EditText nameEditText = (EditText) d.findViewById(R.id.product_name);
                Button updateBtn = (Button) d.findViewById(R.id.updateBtn);

             /*   if (position == -1) {
                    updateBtn.setEnabled(false);
                } else

                    updateBtn.setEnabled(true);

                updateBtn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                  }  
                });
                dialog.show();
            }
});
*/
    /*private void displayInputDialog(final int pos) {
        d = new Dialog(this);
        d.setTitle("List View");
        d.setContentView(R.layout.input);

        final EditText nameEditText = (EditText) d.findViewById(R.id.product_name);
        Button updateBtn = (Button) d.findViewById(R.id.updateBtn);

     if (pos == -1) {
          updateBtn.setEnabled(false);
        } else {
          updateBtn.setEnabled(true);
      }
        updateBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });*
        }*/
            }
        } 
package ie.example.artur.projectrepeat;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteQueryBuilder;

/**
 * Created by family on 06/07/2016.
 */
public class DatabaseClass extends SQLiteOpenHelper {

    public static final String DATABASE_Name = "Product.db2";
    public static final String Table_Name = "product_table2";
    public static final String COL_1 = "ID";
    public static final String COL_2 = "Name";
    public static final String COL_3 = "Quantity";
    public static final String COL_4 = "Category";
    public static final String COL_5 = "Importance";
    Context myContext;

    public DatabaseClass(Context context) {
        super(context, DATABASE_Name, null, 1);
    }

 @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + Table_Name + " (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,Quantity TEXT,Category INTEGER,Importance TEXT);");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("Drop Table If Exists" + Table_Name);
        onCreate(db);
    }

   public boolean insertData(String name, String quantity, String category,String importance) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(COL_2, name);
        contentValues.put(COL_3, quantity);
        contentValues.put(COL_4, category);
        contentValues.put(COL_5, importance);

        long result = db.insert(Table_Name, null, contentValues);

            if (result == -1)
                return false;
            else
                return true;
        }

    public Cursor getAllData() {
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor res = db.rawQuery("select * from " + Table_Name, null);
        return res;
    }

    public boolean updateData(String id,String name,String quantity,String category,String importance ) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(COL_1, id);
        contentValues.put(COL_2, name);
        contentValues.put(COL_3, quantity);
        contentValues.put(COL_4, category);
        contentValues.put(COL_5, importance);
        db.update(Table_Name,contentValues,"id =?",new String[]{id});
                return true;
    }

   /* public Cursor getCursor(){
        SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();

        queryBuilder.setR
    }
*/
   public Integer DeleteData (String id) {
       SQLiteDatabase db = this.getWritableDatabase();
       return db.delete(Table_Name,"ID = ?",new String[]{id});
   }
    public static void DeleteInformation(String item_name, SQLiteDatabase sqLiteDatabase){

        String selection = COL_1+" LIKE ?";
        String [] selection_args = {item_name};
        sqLiteDatabase.delete(Table_Name,selection,selection_args);
    }

    public Cursor getInformation(SQLiteDatabase sqLiteDatabase)
    {
        Cursor cursor;
        String [] Projections = {COL_1,COL_2,COL_4};

        cursor  = sqLiteDatabase.query(Table_Name,Projections,null,null,null,null,null);
        return cursor;

    }

    public Cursor getItem(String item_name ,SQLiteDatabase sqLiteDatabase){
        String [] Projections = {COL_1,COL_2,COL_3,COL_4,COL_5};
        String selection = COL_1+" LIKE ?";
        String [] selection_args = {item_name};
        Cursor cursor = sqLiteDatabase.query(Table_Name,Projections,selection,selection_args,null,null,null);
        return cursor;

    }


}