所以我有这个项目需要尽快完成,因此我没有太多时间自己解决。
我有两个按钮:“开始”和“停止”,我需要我的程序在我按下“开始”时创建一个新日期,而当我按下“停止”时我需要创建另一个日期并显示这两个日期.
我的问题是,当我想在按下“停止”按钮时显示两个日期时,在第一次按下按钮时创建的日期不存在。
我使用 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));
}
});
}
}
最佳答案
是因为你的值 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));
}
});
}
}
关于java - 如何使用变量,特别是不同类中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51658977/