- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想将 Intent 从第一个 Activity 发送到另一个 Activity 。
第一个 Activity 向第二个 Activity 发送一个 Intent 以创建一个新的 AlertDialog,从用户那里接收一个数字并将该数字发送回第一个 Activity ,这就是 putExtra 数据失败的地方。
第一个activity的代码:GuessItActivity.java
Intent intent = new Intent(GuessItActivity.this,
AlertDialogMessage.class);
intent.addFlags(Intent.FILL_IN_DATA);
intent.addFlags(Intent.FILL_IN_CATEGORIES);
intent.addFlags(Intent.FILL_IN_ACTION);
intent.putExtra("data1", 15);
startActivityForResult(
intent,
getResources().getInteger(
R.integer.ALERT_DIALOG_MESSAGE));
在检索器端,例如 AlertDialogMessage.java 上的第二个 Activity 端
public void onClick(DialogInterface dialog,
int which) {
// "OK" button pressed
int userGuess = Integer.parseInt(input
.getText().toString());
Intent intent = getIntent();
if (intent == null)
return;
int data1 = intent.getIntExtra("data1", -1);
if (data1 != 15 )
return; // data1 ==15
intent.putExtra("data2", 25);
if (getParent() == null) {
setResult(Activity.RESULT_OK, intent);
} else {
getParent().setResult(Activity.RESULT_OK,
intent);
}
finish();
第一个 Activity 端:回到GuessItActivity.java
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == getResources().getInteger(
R.integer.ALERT_DIALOG_MESSAGE)) {
if (resultCode == RESULT_OK) {
Intent intent = getIntent();
if (intent==null)
return;
Bundle extra = getIntent().getExtras();
if (extra != null) {
int _data1 = extra.getInt("data1");
int _data2 = extra.getInt("data2");
}
// extra == null , what am I doing wrong ?
int data1 = intent.getIntExtra("data1",-1);
int data2 = intent.getIntExtra("data2",-1);
if ((data1==-1)&&(data1==-1))
return;
问题是,我收到的 data1 和 data2 等于 -1。
我想接收我在第二个 Activity 中输入的数据。例如 data1 == 15 和 data2 == 25
我做错了什么?
最佳答案
尝试
Bundle extra=data.getExtras();
代替
Bundle extra=getIntent().getExtras();
关于android - PutExtra 在猎犬端不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10138756/
我想使用预取,但我不能让它工作! 这是我的代码: function initAutocompletion() { $("input[data-autocomplete-prefetch-url
我不清楚如何使用 Bloodhound 中的 dupDetector 参数删除重复项。 我正在使用 0.11.1 版 从具有如下记录的数据库中提取数据集: building_name room d
我正在使用带有远程 API 的 Bloodhound,我需要转换从远程 API 返回的结果。 API URL 是 https://www.googleapis.com/books/v1/volumes
我是一名优秀的程序员,十分优秀!