Ich habe zwei Aktivitäten. In der ersten Aktivität habe ich eine Listenansicht und in der zweiten Aktivität habe ich zwei editText und ich speichere die Daten in sqlite durch edittext und zeige sie in einer Listenansicht. Ich habe diese Dinge jetzt gemacht, wenn ich auf einen Listenansichtspunkt klicke, mit dem eine Aktivität geöffnet wird EditText, die so vorherigen Daten enthalten ich es bearbeiten und aktualisieren sie die sQLiteWie sqlite auf Klick auf Listenansicht Artikel aktualisieren
Main.java
public class MainActivity extends AppCompatActivity {
List<FileName> filenames;
DBhelper dBhelper;
SQLiteDatabase sqLiteDatabase;
ListViewAdapter listViewAdapter;
ListView listView;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_add:
Intent intent = new Intent(MainActivity.this, Note.class);
startActivity(intent);
return true;
case R.id.action_credits:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.lv_filename);
dBhelper = new DBhelper(getApplicationContext());
sqLiteDatabase =dBhelper.getReadableDatabase();
filenames = dBhelper.getItemFromDatabase(sqLiteDatabase);
if (filenames != null) {
listViewAdapter = new ListViewAdapter(getApplicationContext(), R.layout.listview_item, filenames);
listView.setAdapter(listViewAdapter);
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
}
}
Note.java
public class Note extends AppCompatActivity {
EditText editText;
EditText editText2;
DBhelper dBhelper;
SQLiteDatabase sqLiteDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.note);
editText = (EditText)findViewById(R.id.et_title);
editText2 = (EditText)findViewById(R.id.et_note);
}
public void SaveNote()
{
dBhelper = new DBhelper(this);
sqLiteDatabase= dBhelper.getWritableDatabase();
dBhelper.store(editText.getText().toString(),editText2.getText().toString(),sqLiteDatabase);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_note, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.action_save:
SaveNote();
Intent intent = new Intent(Note.this, MainActivity.class);
startActivity(intent);
default:
return super.onOptionsItemSelected(item);
}
}
}
DBhelper.java
public class DBhelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "MEMBERSDATA.DB";
DBhelper(Context context)
{
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("CREATE TABLE "+Coloumn.NewInfo.TABLE_NAME+"("+ Coloumn.NewInfo.TITLE+" TEXT,"+ Coloumn.NewInfo.NOTE+" TEXT);");
}
public void store(String Title,String Note, SQLiteDatabase sqLiteDatabase2) {
sqLiteDatabase2.execSQL("insert into " + Coloumn.NewInfo.TABLE_NAME + " (" + Coloumn.NewInfo.TITLE + ", " + Coloumn.NewInfo.NOTE+ ") values(?,?);", new String[]{Title,Note});
}
public List<FileName> getItemFromDatabase(SQLiteDatabase sqLiteDatabase) {
List<FileName> result = new ArrayList<>();
Cursor c = sqLiteDatabase.rawQuery("SELECT * FROM "+Coloumn.NewInfo.TABLE_NAME,null);
while (c.moveToNext()) {
result.add(
new FileName(
c.getString(c.getColumnIndex("Name")),
c.getString(c.getColumnIndex("Note"))
)
);
}
c.close();
return result;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
Warum möchten Sie neue Aktivität für das erstellen? Erstellen Sie einfach einen Dialog mit zwei Edit-Texten und zeigen Sie dem Benutzer diesen Dialog, indem Sie die Daten des Items an den Dialg bearbeiten und die Änderungen an db –
aktualisieren. Ich brauche keinen Dialog, da ich eine einfache Notizblock-App erstelle –
Nun, die Idee sollte es sein Übergeben Sie die ID der angeklickten Notiz mit Ihrem Absichtsbündel. Auf dem 'onCreate (Bundle bun)' sollten Sie die Daten aus der Datenbank holen und auf 'EditText' -' EditText.setText (String str) 'setzen. Nachdem Sie mit der Bearbeitung fertig sind, müssen Sie nur noch update mit der neuen Zeichenfolge aufrufen. –