我正在製作一個食物跟蹤應用程序,並希望讓用戶填寫1項活動的食物類別和食物項目,提交併在下一個活動中查看它們。他們應該能夠提交多種食品,並且所有食品都應該出現在第二項活動中。但是,只有他們提交的最後一個出現在第二個活動中。如何將多個條目從一個活動傳遞給另一個並保存它們?
public class MainActivity extends ActionBarActivity {
EditText fooditem;
Spinner categorySpinner;
Button submitButton;
Button foodlistButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fooditem = (EditText) findViewById(R.id.fooditemEditText);
categorySpinner = (Spinner) findViewById(R.id.categorySpinner);
submitButton = (Button) findViewById(R.id.submitButton);
foodlistButton = (Button) findViewById(R.id.foodlistButton);
foodlistButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String stringCategory2 = categorySpinner.getSelectedItem().toString();
String stringFooditem2 = fooditem.getText().toString();
Intent intent = new Intent(getApplicationContext(),ListActivity.class);
intent.putExtra("category2", stringCategory2);
intent.putExtra("fooditem2", stringFooditem2);
//intent.putExtras(arrayFoodItems);
startActivity(intent);
}
});
這是我的活動兩個代碼:
public class ListActivity extends ActionBarActivity {
Button submitButton;
Button p2Button;
TextView p2TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
submitButton = (Button) findViewById(R.id.submitButton);
p2TextView = (TextView) findViewById(R.id.p2_foodlistTextView);
p2Button = (Button) findViewById(R.id.p2_button);
String category = getIntent().getStringExtra("category2");
String fooditem = getIntent().getStringExtra("fooditem2");
if(fooditem != null && !fooditem.isEmpty())
{
p2TextView.append(category + ": " + fooditem + "\n");
}
p2Button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
}
});
}
上述代碼中的錯誤是什麼?因爲你只在一個變量中傳遞一個元素,它只會傳遞這個值 – 2014-12-19 11:44:14