如何将数据从一个活动(意图)发送到另一个活动?
我使用此代码发送数据:
Intent i=new Intent(context,SendMessage.class);
i.putExtra("id", user.getUserAccountId()+"");
i.putExtra("name", user.getUserFullName());
context.startActivity(i);
如何将数据从一个活动(意图)发送到另一个活动?
我使用此代码发送数据:
Intent i=new Intent(context,SendMessage.class);
i.putExtra("id", user.getUserAccountId()+"");
i.putExtra("name", user.getUserFullName());
context.startActivity(i);
当前回答
如果您试图获取碎片中的额外数据,则可以尝试使用:
放置数据时使用:
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER);
使用以下方法获取数据:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
getArguments().getInt(ARG_SECTION_NUMBER);
getArguments().getString(ARG_SECTION_STRING);
getArguments().getBoolean(ARG_SECTION_BOOL);
getArguments().getChar(ARG_SECTION_CHAR);
getArguments().getByte(ARG_SECTION_DATA);
}
其他回答
从意图中获取不同类型的额外信息
要从Intent访问数据,您应该知道两件事。
钥匙数据的DataType。
Intent类中有不同的方法来提取不同类型的数据。看起来像这样
getIntent().XXX(KEY)或intent.XXX(KEY);
因此,如果您知道在otherActivity中设置的变量的数据类型,则可以使用相应的方法。
从Intent检索活动中的字符串的示例
String profileName = getIntent().getStringExtra("SomeKey");
不同数据类型的方法的不同变体列表
您可以在意向正式文档中查看可用方法列表。
按意图放置数据:
Intent intent = new Intent(mContext, HomeWorkReportActivity.class);
intent.putExtra("subjectName", "Maths");
intent.putExtra("instituteId", 22);
mContext.startActivity(intent);
按意图获取数据:
String subName = getIntent().getStringExtra("subjectName");
int insId = getIntent().getIntExtra("instituteId", 0);
如果我们对意图使用整数值,则必须在getIntent().getIntExtra(“instituteId”,0)中将第二个参数设置为0。否则,我们不使用0,Android会给我一个错误。
只是一个建议:
在你的i.putExtra(“id”…..)中不使用“id”或“name”,我建议在有意义的时候,使用当前可以与putExtra一起使用的标准字段,即Intent.EXTRA_shing。
完整的列表可以在Intent(Android开发者)上找到。
您可以从intent中获取任何类型的额外数据,无论是对象、字符串还是任何类型的数据。
Bundle extra = getIntent().getExtras();
if (extra != null){
String str1 = (String) extra.get("obj"); // get a object
String str2 = extra.getString("string"); //get a string
}
最短的解决方案是:
Boolean isGranted = getIntent().getBooleanExtra("tag", false);
如果您试图获取碎片中的额外数据,则可以尝试使用:
放置数据时使用:
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER);
使用以下方法获取数据:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
getArguments().getInt(ARG_SECTION_NUMBER);
getArguments().getString(ARG_SECTION_STRING);
getArguments().getBoolean(ARG_SECTION_BOOL);
getArguments().getChar(ARG_SECTION_CHAR);
getArguments().getByte(ARG_SECTION_DATA);
}