如何使用变量,特别是不同类中的日期

时间:2018-08-02 17:12:24

标签: java android date button

所以我有一个我需要尽快完成的项目,因此我没有太多时间自己解决这个问题。

我有两个按钮:“开始”和“停止”,当我按下“开始”时我需要我的程序设定一个新日期,而当我按下“停止”时我需要另外设定一个日期并同时显示两个日期

我的问题是,当我想按“停止”按钮同时显示两个日期时,在第一次按按钮时创建的日期不存在。

我使用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));
            }
        });
    }
}

1 个答案:

答案 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));
            }
        });
    }
}