我正在制作一个食物跟踪应用程序,并希望让用户填写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