我有一個應用程序,在我點擊保存按鈕後試圖刷新列表。單擊保存按鈕後Android List不刷新
的邏輯是這樣的: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並獲得新的列表。有人可以幫我嗎?
謝謝。
而不是v.getContext()你可以試試firstActivity.this。我不確定這是否能解決您的問題,只是一個建議(以及我如何創建我的意圖沒有問題。您是否檢查過以確保您的第二活動包含在您的清單中? – Mimminito 2012-04-02 09:00:27
有什麼異常? – Th0rndike 2012-04-02 09:01:17
您是什麼意思它doesn 't帶你到第二個活動?應用程序部隊關閉或它只是站立不動,不打開活動 – 2012-04-02 09:02:42