将值从片段传递到另一个 activity

Passing values from a fragment to another activity

我有一个 DialogFragment,它有一个 listView 作为容器。我已经在 listView 上设置了 OnItemClickListener。

当用户触摸一个项目并将其传递给另一个项目时,我如何获取该值,然后 activity 然后将该值存储到一个变量中?我需要根据要选择的项目设置一个倒计时计时器。实际只能显示带有item位置的简单toast消息

请注意,值将传递到的 activity 不是片段 activity。

我正在考虑 Bundle,但即使在阅读 Google 站点上的文档后,对编程的了解也不多,这仍然是一种痛苦。

在 MainActivy 上,我是这样设置定时器的:

new CountDownTimer(30000, 1000) {

        public void onTick(long millisUntilFinished) {
            String elapsedTime = String.valueOf(millisUntilFinished / 1000);
            timer.setText(elapsedTime);
        }
        public void onFinish() {
            timer.setText(R.string.text);
        }
    }.start();
}

示例:

如果用户触摸项目 1,则计时器的值为 15 分钟,依此类推...

请多指教,谢谢

因此,您想将数据从 Fragment 传递到 Activity。这是您的操作方法。

将数据从 Fragment 传递到 Activity:

final Intent intent = new Intent(getActivity(), ActivityName.class);
intent.putExtra("counter-value", counterValue);
getActivity().startActivity(intent);

读取Activity中的值:

final Bundle extras = getIntent().getExtras();
if(extras != null) {
    final int counterValue = extras.getInt("counter-value", -1);
    showCountDown(counterValue);
}

现在,将值传递给 countdowntimer

private void showCountDown(final int counterValue) {
    new CountDownTimer(counterValue, 1000) {

        public void onTick(long millisUntilFinished) {
            String elapsedTime = String.valueOf(millisUntilFinished / 1000);
            timer.setText(elapsedTime);
        }
        public void onFinish() {
            timer.setText(R.string.text);
        }
    }.start();
}