У меня есть приложение, в котором я пытаюсь обновить список после нажатия кнопки «Сохранить».
Логика примерно такая: 1. получить список фруктов 2. на том же экране я могу отредактировать / добавить новое имя фруктов 3. если я решу добавить название фруктов, это принесет мне немногоФорма тегов, после ввода, я нажимаю на кнопку Сохранить.4. При нажатии кнопки «Сохранить» должно появиться действие, которое возвращает список фруктов (шаг 1).
public class firstActivity extends Activity{
private SQLiteDatabase db;
Button saveButton;
public void onCreate(Bundle savedInstance){
// some code here
saveButton = (Button) findViewById(R.id.savedata);
db = openOrCreateDatabase("location.db",
SQLiteDatabase.CREATE_IF_NECESSARY, null);
saveButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String fruitName;
fruitName = fruitName.getText().toString();
ContentValues fruitContent = new ContentValues();
fruitContent.put("fruit_name",fruitName);
if (!(db.isOpen())) {
db = openOrCreateDatabase("location.db",SQLiteDatabase.CREATE_IF_NECESSARY, null);
}
fruitId = (int) db.update(FRUIT_TABLE, fruitContent,"fruit_id=" + f_P_Id, null);
db.close();
} else {
if (!(db.isOpen())) {
db = openOrCreateDatabase("location.db",SQLiteDatabase.CREATE_IF_NECESSARY, null);
}
fruitId = (int) db.insertOrThrow(FRUIT_TABLE, null,fruitContent);
db.close();
}
Log.i(TAG, "New Fruit Id:" + fruitId);
Intent intent = new Intent(firstActivity.this,secondActivity.class);
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
public class secondActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "cmg");
setContentView(R.layout.fruitlist);
/**
* database code
*/
SQLiteDatabase db;
db = openOrCreateDatabase("location.db",
SQLiteDatabase.CREATE_IF_NECESSARY, null);
if (db != null)
Log.i(TAG, "database created");
else
Log.i(TAG, "DAtabase null");
//db.execSQL(CREATE_TABLE_1);
Cursor cursor = db.query(tablename, null, null, null, null, null, null);
int listSize = cursor.getCount();
final String[] fruit_List = new String[listSize + 1];
cursor.moveToFirst();
int arrIter = 0;
while (cursor.isAfterLast() == false) {
Log.i(TAG, "Coumn Value:" + cursor.getString(0));
fruitList[arrIter] = cursor.getString(1);
cursor.moveToNext();
arrIter++;
}
fruit_List[arrIter] = "New Fruit";
Log.i(TAG, "FruitList:");
for (int i = 0; i < fruit_List.length; i++) {
Log.i(TAG, "Fruit:" + fruit_List[i]);
}
Log.i(TAG, "Count:" + cursor.getCount());
cursor.close();
db.close();
ListView listView = (ListView) findViewById(R.id.list);
if (listView != null) {
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, fruit_List));
} else {
Log.i(TAG, "Null");
}
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Intent intent = new Intent(view.getContext(),
firstActivity.class);
startActivity(intent);
}
});
}
}
Каким-то образом мне не удается перейти к secondActivity и получить новый список.Кто-нибудь может мне помочь?
Спасибо.