我对Android很新,并尝试构建食品订购应用程序,我在结帐页面上遇到问题,数据库应该从6个不同的活动接收数据,但是它只接收从第一个启动的活动和所有其他活动失败。有人能给我一个如何管理它的线索吗?在此先感谢所有
public class BaconBurgerActivity extends Activity
{
ImageView bacon_burger;
TextView bacon_burger_txt;
TextView bacon_burger_price;
TextView bacon_burger_qty;
Spinner bacon_burger_spinner;
Button bb_add_btn;
Button bb_menu_btn;
TextView bacon_burger_combo;
TextView bacon_burger_juices;
TextView bacon_burger_sides;
TextView bacon_burger_combo_qty;
Button bacon_burger_combo_add;
Spinner bacon_burger_juice_spinner;
ArrayAdapter<CharSequence> bacon_burger_juice_adapter;
Spinner bacon_burger_side_spinner;
ArrayAdapter<CharSequence> bacon_burger_side_adapter;
Spinner bacon_burger_combo_qty_spinner;
Context ctx = this;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.bacon_burger_layout);
//Bacon Burger Image and Text View
bacon_burger=(ImageView)findViewById(R.id.bb_main);
bacon_burger_txt=(TextView)findViewById(R.id.bb_text);
bacon_burger_price=(TextView)findViewById(R.id.bb_price);
bacon_burger_qty=(TextView)findViewById(R.id.bb_qty);
//Bacon Burger Spinner
Integer[] options = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
bacon_burger_spinner=(Spinner)findViewById(R.id.bb_spinner);
ArrayAdapter<Integer> bacon_burger_adapter =new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,options);
bacon_burger_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
bacon_burger_spinner.setAdapter(bacon_burger_adapter);
//Bacon Burger Buttons
bb_add_btn=(Button)findViewById(R.id.bb_add);
bb_menu_btn=(Button)findViewById(R.id.bb_back);
//Combo Image and Text View
bacon_burger_combo=(TextView)findViewById(R.id.bb_combo);
bacon_burger_juices=(TextView)findViewById(R.id.juices);
bacon_burger_sides=(TextView)findViewById(R.id.sides);
bacon_burger_combo_qty=(TextView)findViewById(R.id.bb_combo_qty);
//Combo Button
bacon_burger_combo_add=(Button)findViewById(R.id.bb_combo_add);
//Combo Juice Spinner
bacon_burger_juice_spinner=(Spinner)findViewById(R.id.bb_juice_spinner);
bacon_burger_juice_adapter=ArrayAdapter.createFromResource(this,R.array.juices,android.R.layout.simple_spinner_item);
bacon_burger_juice_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
bacon_burger_juice_spinner.setAdapter(bacon_burger_juice_adapter);
//Combo Side Spinner
bacon_burger_side_spinner=(Spinner)findViewById(R.id.bb_side_spinner);
bacon_burger_side_adapter=ArrayAdapter.createFromResource(this,R.array.sides,android.R.layout.simple_spinner_item);
bacon_burger_side_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
bacon_burger_side_spinner.setAdapter(bacon_burger_side_adapter);
//Combo Qty Spinner
Integer[] numbers = new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
bacon_burger_combo_qty_spinner=(Spinner)findViewById(R.id.bb_combo_spinner);
ArrayAdapter<Integer> bacon_burger_combo_adapter =new ArrayAdapter<>(this,android.R.layout.simple_spinner_item,numbers);
bacon_burger_combo_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
bacon_burger_combo_qty_spinner.setAdapter(bacon_burger_combo_adapter);
}
//Bacon Burger onClick method
public void add_btn (View view)
{
int quantity = Integer.parseInt(bacon_burger_spinner.getSelectedItem().toString());
float price =(float) 6.52;
float total= ((quantity)*(price));
String bb_order=bacon_burger_spinner.getSelectedItem().toString()+" Bacon Burger";
DatabaseOperations DB = new DatabaseOperations(ctx);
DB.putInformation(DB,bb_order,null,total);
Toast.makeText(getBaseContext(),"ITEM ADDED TO BASKET", Toast.LENGTH_LONG).show();
}
public void menu_btn (View view)
{
Intent bb_intent=new Intent(BaconBurgerActivity.this,MainActivity.class);
startActivity(bb_intent);
}
//Bacon Burger Combo onClick method
public void add_combo_btn (View view)
{
int combo_quantity= Integer.parseInt(bacon_burger_combo_qty_spinner.getSelectedItem().toString());
float bb_combo_price=(float)8.55;
float bb_combo_total= ((combo_quantity)*(bb_combo_price));
String bb_combo_order=bacon_burger_combo_qty_spinner.getSelectedItem().toString()+" Bacon Burger Combo";
String bb_juice_side=bacon_burger_side_spinner.getSelectedItem().toString()+bacon_burger_juice_spinner.getSelectedItem().toString();
DatabaseOperations DB = new DatabaseOperations(ctx);
DB.putInformation(DB,bb_combo_order,bb_juice_side,bb_combo_total);
Toast.makeText(getBaseContext(),"ITEM ADDED TO BASKET", Toast.LENGTH_LONG).show();
}
}
答案 0 :(得分:0)
解释@MarkSkayff所说的内容:在活动之间传递数据。
当您调用第二个活动时,您可以向您的Intent添加额外内容。例如:
Intent bb_intent=new Intent(BaconBurgerActivity.this,MainActivity.class);
bb_intent.putExtra("total",total);
startActivity(bb_intent);
在MainActivity的onCreate方法中,您可以使用
加载此ExtragetIntent().getFloatExtra("total",0f); //0f is the default value, in case the float isn't found.
您可以在此处阅读有关Intent Extras的更多信息: How to use putExtra() and getExtra() for string data
在CheckOut Activity上,将数据发送到数据库。