我有三项活动,流程应该是Information
>> workForce
>> workDetailsTable
。我使用intent
传递数据。但是,当我看到SQLite
中存储的数据时,我只能看到WorkForce
表中保存的值。我在NULL
表中获得Information
值。为什么会这样?它只能将数据传递给两个活动吗?
信息
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(context, WorkForce.class);
a = spinner.getSelectedItem().toString();
intent.putExtra("a",a);
startActivity(intent);
}
});
劳动力
button.setOnClickListener
(
new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(context, WorkDetailsTable.class);
subCon=txt1.getText().toString();
startActivity(intent);
}
}
);
WorkDetailsTable
final String name=getIntent().getExtras().getString("a");
final String subContractors=getIntent().getExtras().getString("subCon");
Button btn1=(Button)findViewById(R.id.button2);
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
ts.insertTimeSheet(name);
WF.insertWorkForce(subContractors);
答案 0 :(得分:1)
在启动WorkDetailsTable时,似乎您没有使用Intent传递数据。 您可能希望它看起来像这样:
String name=getIntent().getExtras().getString("a");
button.setOnClickListener
(
new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(context, WorkDetailsTable.class);
subCon=txt1.getText().toString();
intent.putExtra("a",name);
intent.putExtra("subCon",subCon);
startActivity(intent);
}
}
);
但这可能不是你想要做到这一点的最佳方式。您是否考虑过使用SharedPreferences?这将允许您将信息存储在一个活动中,并在任何其他活动中检索。
有一个很好的example here。
答案 1 :(得分:0)
您没有将subCon
字符串通过intent传递给workdetails表。像你在信息活动中那样传递它们。你也需要从劳动力的意图中获得a
的价值,并将意图中的相同值传递给工作细节。
因此,您的WorkForce代码如下所示。
button.setOnClickListener ( new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(context,WorkDetailsTable.class);
subCon=txt1.getText().toString();
intent.putExtra("a",getIntent().getExtras().getString("a"));
intent.putExtra("subCon",subCon);
startActivity(intent);
}
});