我有一個活動(主),我插入一個按鈕。 當用戶按下按鈕時,會出現一個帶有2個無線電框的對話框。我想根據選擇哪個單選按鈕將「1」或「0」值設置爲「ntv」,然後在主活動中使用「ntv」值,但似乎不會將「ntv」值傳遞給主活動,我的代碼有什麼問題?如何將參數值從對話框傳送到android中的活動?
final CharSequence[] chan = {"Minutes", "Seconds"}; builder = new AlertDialog.Builder(Main.this); builder.setTitle("Please Select:"); builder.setSingleChoiceItems(chan, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { if(chan[item]=="Minutes") { Toast.makeText(getApplicationContext(), "Minutes", Toast.LENGTH_SHORT).show(); ntv="1"; } else if (chan[item]=="Seconds") { Toast.makeText(getApplicationContext(), "Seconds", Toast.LENGTH_SHORT).show(); ntv="0"; } } }); AlertDialog alert = builder.create(); alert.show();
我定義的 「NTV」 的字符串,這是代碼的一部分時 「NTV」 進行比較,判斷是否是 「0」 或 「1」
ImageView set1= (ImageView) findViewById(R.id.set1); ImageView set2= (ImageView) findViewById(R.id.set2); if (ntv.equals("0")) { set1.setVisibility(View.INVISIBLE); } if (ntv.equals("1")) { set2.setVisibility(View.INVISIBLE); }
並且因爲(set1)和(set2)都不會不可見,所以我意識到「ntv」沒有任何價值。
你應該在字符串比較NOT'=='上做'.equals'。 – Doomsknight
定義/聲明變量「ntv」的位置和方式?此外,請顯示您用來確定'ntv'是否設置爲「1」或「0」的代碼。 –
@DavidWasser我編輯我的問題,並添加了代碼。 –