我将举例说明我想要实现的目标:
假设我有一个名为“5Fruits”的桌子,有6个阵营:
ID - Fruit1 - Fruit2 - Fruit3 - Fruit4 - Fruit5
使用3个不同的活动(或更多)我想在第一个活动上插入fruit1,然后我有一个按钮“next”打开另一个活动,我插入fruit2和fruit 3然后再一个按钮“next”打开我插入fruit4和fruit5的最后一个活动。
将五个水果保存在同一行,注册,无论如何。
我怎样才能做到这一点?它必须简单,但我不能搞清楚。 感谢。
答案 0 :(得分:0)
您可以使用 putExtra 方法在活动之间传输一些数据。就像那样。
在mainActivity中定义 stringArray 。并将Fruit1放入。
String[] myFruits= new String[6];
myFruits[0] = "apple";
//Start your second activity.
Intent intent = new Intent(this, secondActivity.class);
intent.putExtra("myExtras", myFruits);
startActivity(intent);
适合您的其他活动。
String[] myFruits;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bla_bla_bla);
//gets oldFruits.
Intent intent = getIntent();
myFruits = intent.getStringArrayExtra("myExtras");
}
private void sendFruits()
{
myFurits[i] = "banana"; // "i" is your fruit number;
Intent intent = new Intent(this, otherActivities.class);
intent.putExtra("myExtras", myFruits); //sends new fruits
startActivity(intent);
}
您的上一次活动
private SQLiteDatabase sqw;
String[] myFruits;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bla_bla_bla);
//gets oldFruits.
Intent intent = getIntent();
myFruits = intent.getStringArrayExtra("myExtras");
}
//if your id column is not AUTOINCREMENT, you can add query in.
String query = "INSERT INTO YOURTABLE (Fruit1,Fruit2,Fruit3,Fruit4,Fruit5)
VALUES("'+myFruits[0]+'","'+myFruits[1]+'","'+myFruits[2]+'","'+myFruits[3]+'","'+myFruits[4]+'");";
sqw = new YOURDB().getWritableDatabas(); //get your db openhelper instance
sqw.execSQL(query); //your fruits inserted
这不是好方法。因为对正常进程使用多个活动会降低应用程序性能。 您可以在一个活动中使用碎片或动态创建按钮和EditTexts以及您的流程。