这是我的android应用程序的第二个活动页面。
未获取变量val1和val2。
获取意图中也出现了问题。
我的主要目的是在按钮单击时显示值,并在第三页上显示答案
package com.example.bhask.myapplication;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Main2Activity extends AppCompatActivity {
Button btn1;
static int ans;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
btn1=(Button)findViewById(R.id.btn1);
Intent i=getIntent();
final int val1 = i.getIntExtra("val1",0);
/*val1 and val2 are not getting fetched.*/
final int val2 = i.getIntExtra("val2",0);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int ans=val1+val2;
Intent i1=new Intent(Main2Activity.this,Main3Activity.class);
i1.putExtra("ans","Add is "+ans);
startActivity(i1);
finish();
}
});
}
}
答案 0 :(得分:0)
您正在尝试获取如下所示的值:
final int val1 = i.getIntExtra("val1",0);
final int val2 = i.getIntExtra("val2",0);
不起作用的最可能原因是,没有任何事情(以前)进行“放置”以将值保存在意图的“ extras”属性中。因此,getIntExtra
调用返回的是您提供的默认值。
要将值添加到意图中,请在适当的位置调用i.putExtra(name, val1)
。但是:
尚不清楚val1
和val2
的真实值应该来自哪里,并且
文档说:
名称必须包含包前缀,例如,应用com.android.contacts将使用“ com.android.contacts.ShowAll”之类的名称。
但是您的名字(字符串文字“ val1”和“ val2”)没有包前缀!