[英]How to display values passing from one activity in another activity?
我在這里將 Number1 和 Number2 的 2 個值從 FirstActivity 傳遞到 SecondActivity。在 SecondActivity 中,我顯示這兩個數字,然后在單擊“加號”按鈕后計算它的總和並在文本視圖中顯示總和。
public class FirstActivity extends AppCompatActivity {
Button OkButton;
EditText et_number1;
EditText et_number2;
String number1;
String number2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
OkButton = (Button) findViewById(R.id.ok_btn);
et_number1 = (EditText) findViewById(R.id.ac1pt1);
et_number2 = (EditText) findViewById(R.id.ac1pt2);
number1 = et_number1.getText().toString();
number2 = et_number2.getText().toString();
OkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FirstActivity.this,"Ok button clicked",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("EXTRAN1",number1);
intent.putExtra("EXTRAN2",number2);
startActivity(intent);
}
});
}
}
public class SecondActivity extends AppCompatActivity {
String no1;
String no2;
Button plus;
Button minus;
Button multiply;
Button divide;
TextView answer;
TextView tv_number1;
TextView tv_number2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
plus = (Button) findViewById(R.id.plus);
minus = (Button) findViewById(R.id.minus);
multiply = (Button) findViewById(R.id.multiply);
divide = (Button) findViewById(R.id.division);
answer = (TextView) findViewById(R.id.actv3);
Intent i = getIntent();
no1= i.getStringExtra("EXTRAN1");
no2= i.getStringExtra("EXTRAN2");
tv_number1 = (TextView ) findViewById(R.id.ac2tv1);
tv_number2 = (TextView ) findViewById(R.id.ac2tv2);
tv_number1.setText(no1);
tv_number2.setText(no2);
plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
addition();
}
});
}
public void addition(){
double n1 = Double.parseDouble(tv_number1.getText().toString());
double n2 = Double.parseDouble(tv_number2.getText().toString());
double result = n1 +n2;
String r = Double.toString(result);
answer.setText(r);
}
}
盡管代碼中沒有顯示錯誤,但當我運行應用程序時,沒有顯示數字 1 和數字 2 的兩個值,並且計算也不起作用。 我該如何糾正呢?
您已將變量設置為按鈕單擊。
你的變量將沒有價值。
您應該將以下代碼復制到您的按鈕單擊偵聽器代碼。
OkButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FirstActivity.this,"Ok button clicked",Toast.LENGTH_SHORT).show();
number1 = et_number1.getText().toString();
number2 = et_number2.getText().toString();
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("EXTRAN1",number1);
intent.putExtra("EXTRAN2",number2);
startActivity(intent);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.