(編輯可以比較字符串) 我有1個TextView和2個按鈕,其中一個按鈕是「Month」,另一個按鈕是「Week」。 我試圖改變Textview相應的按鈕按下例如月,周 當我第一次啓動活動時,它顯示「月」按預期。如何在Android中按下按鈕後將值更改爲Activity?
之後當我按下「Week」按鈕時,總是在TextView中顯示「Week」,即使我點擊「Month」按鈕仍然顯示周視圖。
調試說,當我按「月」,「月」 =「true」,那麼的onCreate值仍是「真」,但在第一次如果語句
if (extras != null){ // <-------here is still true
month = extras.getString(month); // <-------here is false
}
是看重突然變向「false」
我知道我可以在按鈕中設置文字,但後來我會添加圖形來顯示數據,所以我想做onCreate。每次創建視圖時,都會檢查選擇哪個視圖(通過比較字符串)並顯示消息和圖形。第一次運行顯示Month視圖。
我在做什麼錯了?
繼承人的代碼
package com.isma.report;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class report1 extends Activity{
TextView viewtime;
String month = "true";
Intent starterIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.report);
starterIntent = getIntent();
Bundle extras = getIntent().getExtras();
if (extras != null) {
month = extras.getString("month");
}
// Set the text
viewtime = (TextView) findViewById(R.id.StudentReportText);
if (month.equals("true")){
viewtime.setText("Monthly View");
}
if{month.equals("false")){
viewtime.setText("Weekly View");
}
//Month View Button
Button bMonth = (Button) findViewById(R.id.monthincome);
bMonth.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
starterIntent.putExtra(month, "true");
startActivity(starterIntent);
finish();
}
});
//Week View Button
Button bWeek = (Button) findViewById(R.id.weekincome);
bWeek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
starterIntent.putExtra(month, "false");
startActivity(starterIntent);
finish();
}
});
}
}
你能確認的ID(monthincome和monthincome)的按鈕 – Siva
他們monthincome和weekincome 機器人:ID = 「@ + ID/monthincome」 機器人:ID =「@ + ID/weekincome「 – Isma
某些地方您的訪問對象爲空調試它,並找到你在哪裏得到空對象。 – Siva