所以我有一个我需要尽快完成的项目,因此我没有太多时间自己解决这个问题。
我有两个按钮:“开始”和“停止”,当我按下“开始”时我需要我的程序设定一个新日期,而当我按下“停止”时我需要另外设定一个日期并同时显示两个日期
我的问题是,当我想按“停止”按钮同时显示两个日期时,在第一次按按钮时创建的日期不存在。
我使用setOnClickListener函数检测两个按钮的按下情况。
public class MainActivity extends AppCompatActivity {
private Button mStartButton;
private Button mStopButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mStartButton = (Button) findViewById(R. id. button_start);
mStopButton = (Button) findViewById(R. id. button_stop);
mStopButton.setClickable(false);
mStartButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v ) {
//start stoperica
final Date datumpocetak = new Date();
mStartButton.setClickable(false);
mStopButton.setClickable(true);
}
});
mStopButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v ) {
//stop stoperica
TextView display = (TextView)findViewById(R. id. display);
Date datumkraj = new Date();
String rezultat = new String();
rezultat = ("od" + (datumpocetak) "do" + (datumkraj));
}
});
}
}
答案 0 :(得分:1)
是因为您的值datumpocetak
采用onClick()
方法。
您需要将其放在MainActivity
中。
示例 [已更新]
public class MainActivity extends AppCompatActivity {
private Button mStartButton;
private Button mStopButton;
Date datumpocetak = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mStartButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v ) {
//start stoperica
datumpocetak = new Date();
mStartButton.setClickable(false);
mStopButton.setClickable(true);
}
});
mStopButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v ) {
//stop stoperica
TextView display = (TextView)findViewById(R.id.display);
Date datumkraj = new Date();
String rezultat = new String();
rezultat = ("od" + (datumpocetak) "do" + (datumkraj));
}
});
}
}