(编辑为能够比较字符串)我有 1 个 TextView 和 2 个按钮,一个按钮是“月”,另一个按钮是“周”。我试图根据按下的按钮相应地更改 Textview,例如月、周当我第一次启动活动时,它会按预期显示“月”。
当我按下“周”按钮后,总是在 TextView 中显示“周”,即使我点击“月”按钮仍然显示周视图。
调试说当我按下“Month”时,“Month”=“true”,然后 onCreate 的值仍然是“True”,但在第一个 If 语句中
if (extras != null){ // <-------here is still true
month = extras.getString(month); // <-------here is false
}
该值突然变为“假”
我知道我可以在按钮中设置文本,但稍后我将添加图表来显示数据,所以我想完成 onCreate。每次创建视图时,都会检查选择了哪个视图(通过比较字符串)并显示消息和图形。第一次运行以显示月视图。
我究竟做错了什么?
这是代码
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();
}
});
}
}