我正在创建一个包含 3 个按钮的简单应用程序,其中每个按钮都有其侦听器,这些侦听器接受用户输入并进行一些数学计算,而不是在 toast 中显示结果。
但第三个按钮使用 intent 在第二个活动中显示结果。
第一个按钮正常工作,但第二个和第三个不起作用。意味着第二个不显示敬酒,第三个不显示第二个活动的结果。
谁能帮我 ???
MainActivity.java
package com.tipcalc.assignment1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
EditText txt;
Button btn1, btn2, btn3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (EditText) findViewById(R.id.edittxt);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn3 = (Button) findViewById(R.id.button3);
btn1.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String input;
String result = null;
Double dbl;
if (arg0 == btn1) {
input = txt.getText().toString();
dbl = Double.parseDouble(input) * 0.1;
result = String.valueOf(dbl);
} else if (arg0 == btn2) {
input = txt.getText().toString();
dbl = Double.parseDouble(input) * 0.15;
result = String.valueOf(dbl);
}
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
if(arg0 == btn3){
Intent intent = new Intent(MainActivity.this, SecondPage.class);
intent.putExtra("com.tipcalc.assignment1.showResult", result);
startActivity(intent);
}
}
}
SecondActivity.java
package com.tipcalc.assignment1;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class SecondPage extends Activity {
TextView txt_result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_page);
txt_result = (TextView) findViewById(R.id.txtResult);
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras
.getString("com.tipcalc.assignment1.showResult");
txt_result.setText(value);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second_page, menu);
return true;
}
}