亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用鍵在活動之間傳遞值

使用鍵在活動之間傳遞值

慕仙森 2023-04-13 14:22:04
我正在嘗試創建一個應用程序來檢查您輸入的 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)));

}


查看完整回答
反對 回復 2023-04-13
  • 1 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號