Java Android:在两个活动之间切换错误-不幸的是“;应用程序名称”;停止
我正在学习android应用程序开发,然后这个问题出现了,我不确定人们以前是否有过这个问题,但它说我的应用程序在模拟器中停止了。这是一个基本的货币转换器 主要活动:Java Android:在两个活动之间切换错误-不幸的是“;应用程序名称”;停止,java,android,android-intent,Java,Android,Android Intent,我正在学习android应用程序开发,然后这个问题出现了,我不确定人们以前是否有过这个问题,但它说我的应用程序在模拟器中停止了。这是一个基本的货币转换器 主要活动: public class MainActivity extends Activity implements View.OnClickListener { private final int GET_SECACT_RES = 6; public TextView result; public Edit
public class MainActivity extends Activity implements
View.OnClickListener {
private final int GET_SECACT_RES = 6;
public TextView result;
public EditText amount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button myB = (Button)findViewById(R.id.btn1);
myB.setOnClickListener(this);
amount =(EditText)findViewById(R.id.amount);
result=(TextView)findViewById(R.id.textView);
}
public void onClick(View v){
Intent myIntent = new Intent(MainActivity.this, SecondActivity.class);
myIntent.putExtra("amount", amount.getText().toString());
startActivityForResult(myIntent, GET_SECACT_RES);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == GET_SECACT_RES){
if(resultCode == Activity.RESULT_OK){
String txt = data.getStringExtra("result");
result.setText(txt);
}
}
}
}
public class SecondActivity extends Activity implements View.OnClickListener {
public Double result;
RadioButton usDollar = (RadioButton) findViewById(R.id.usDollar);
RadioButton japaneseYen = (RadioButton) findViewById(R.id.japaneseYen);
String amountAdded = getIntent().getStringExtra("amount");
Double doubleAmount = Double.parseDouble(amountAdded);
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
Button myB = (Button) findViewById(R.id.btn2);
myB.setOnClickListener(this);
}
public void calculate() {
if(usDollar.isSelected()){
result = 1.09 * doubleAmount;
}
if (japaneseYen.isSelected()) {
result = 0.7 * doubleAmount;
}
}
public void onClick(View v){
calculate();
Intent res = new Intent(SecondActivity.this, MainActivity.class);
res.putExtra("result", result.toString());
setResult(RESULT_OK,res);
finish();
}
}
第二项活动:
public class MainActivity extends Activity implements
View.OnClickListener {
private final int GET_SECACT_RES = 6;
public TextView result;
public EditText amount;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button myB = (Button)findViewById(R.id.btn1);
myB.setOnClickListener(this);
amount =(EditText)findViewById(R.id.amount);
result=(TextView)findViewById(R.id.textView);
}
public void onClick(View v){
Intent myIntent = new Intent(MainActivity.this, SecondActivity.class);
myIntent.putExtra("amount", amount.getText().toString());
startActivityForResult(myIntent, GET_SECACT_RES);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == GET_SECACT_RES){
if(resultCode == Activity.RESULT_OK){
String txt = data.getStringExtra("result");
result.setText(txt);
}
}
}
}
public class SecondActivity extends Activity implements View.OnClickListener {
public Double result;
RadioButton usDollar = (RadioButton) findViewById(R.id.usDollar);
RadioButton japaneseYen = (RadioButton) findViewById(R.id.japaneseYen);
String amountAdded = getIntent().getStringExtra("amount");
Double doubleAmount = Double.parseDouble(amountAdded);
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
Button myB = (Button) findViewById(R.id.btn2);
myB.setOnClickListener(this);
}
public void calculate() {
if(usDollar.isSelected()){
result = 1.09 * doubleAmount;
}
if (japaneseYen.isSelected()) {
result = 0.7 * doubleAmount;
}
}
public void onClick(View v){
calculate();
Intent res = new Intent(SecondActivity.this, MainActivity.class);
res.putExtra("result", result.toString());
setResult(RESULT_OK,res);
finish();
}
}
舱单:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
请帮忙。非常感谢您的帮助。您在这里有一个错误:
Double doubleAmount = Double.parseDouble("amountAdded");
删除amounted中的引号
Double doubleAmount = Double.parseDouble(amountAdded);
这里有一个错误:
Double doubleAmount = Double.parseDouble("amountAdded");
删除amounted中的引号
Double doubleAmount = Double.parseDouble(amountAdded);
也发布日志。您不能在当前处于
SecondActivity
的位置调用findViewById()
或getIntent()
。将这些初始化移动到onCreate()
,类似于MainActivity
中的初始化。也发布日志猫。您不能在当前处于SecondActivity
的位置调用findViewById()
或getIntent()
。将这些初始化移动到onCreate()
,类似于MainActivity
中的初始化。