我正在嘗試創建一個應用程序來檢查您輸入的 2 個數字中哪個數字較大,并在另一個活動中顯示結果。我也嘗試過使用 getIntExtra() 但它沒有用而且沒有錯誤它只是不工作。主要活動: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button check=findViewById(R.id.checkButton); check.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent Check=new Intent(getApplicationContext(), BiggerNum.class); EditText N1EditText=findViewById(R.id.editTextN1); int num1=Integer.parseInt(N1EditText.getText().toString()); EditText N2EditText=findViewById(R.id.editTextN2); int num2=Integer.parseInt(N2EditText.getText().toString()); Check.putExtra("com.example.testapp.num1",num1); Check.putExtra("com.example.testapp.num2",num2); startActivity(Check); } }); }}第二個活動:public class BiggerNum extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); if (getIntent().hasExtra("com.example.testapp.num1")){ int num1=getIntent().getExtras().getInt("num1"); int num2=getIntent().getExtras().getInt("num2"); TextView bigger=findViewById(R.id.biggerNView); bigger.setText((Math.max(num1,num2))); } }}編輯:我的代碼中的問題正如 forpas 所解釋的那樣。無論如何,使用鍵的更好方法是在要將它們傳遞給的類中將鍵創建為靜態終結符,然后使用它們:public class BiggerNum extends AppCompatActivity {public static final String FIRST_NUM_KEY = "num1";public static final String SECOND_NUM_KEY= "num2"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); int num1= 0; int num2 = 0; }}
1 回答

RISEBY
TA貢獻1856條經驗 獲得超5個贊
2 extras 的鍵是"com.example.testapp.num1"and "com.example.testapp.num2",所以你必須使用它們來檢索它們而不是"num1"and "num2":
if (getIntent().hasExtra("com.example.testapp.num1") && getIntent().hasExtra("com.example.testapp.num2")){
int num1=getIntent().getExtras().getInt("com.example.testapp.num1");
int num2=getIntent().getExtras().getInt("com.example.testapp.num2");
TextView bigger=findViewById(R.id.biggerNView);
bigger.setText(String.valueOf(Math.max(num1,num2)));
}
添加回答
舉報
0/150
提交
取消