Android 将值从片段传递到另一个活动

Android 将值从片段传递到另一个活动,android,android-fragments,bundle,android-fragmentactivity,Android,Android Fragments,Bundle,Android Fragmentactivity,我有一个DialogFragment,它有一个listView作为容器。我已经在listView上设置了一个侦听器 当用户触摸一个项目并将其传递给另一个活动,然后将该值存储到变量中时,如何获取该值?我需要根据要选择的项目设置倒计时。实际上只能显示带有项目位置的简单toast消息 注意,值将被传递到的活动不是片段活动 我在考虑Bundle,但即使在阅读了谷歌网站上的文档后,对编程没有太多的了解也是一件痛苦的事情 在MainActivity上,以下是我如何设置计时器: new CountDownTi

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

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

注意,值将被传递到的活动不是片段活动

我在考虑Bundle,但即使在阅读了谷歌网站上的文档后,对编程没有太多的了解也是一件痛苦的事情

在MainActivity上,以下是我如何设置计时器:

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分钟的值,依此类推


请指导我,谢谢。

所以,您希望将数据从片段传递到活动。这是你怎么做的

将数据从片段传递到活动:

final Intent intent = new Intent(getActivity(), ActivityName.class);
intent.putExtra("counter-value", counterValue);
getActivity().startActivity(intent);
final Bundle extras = getIntent().getExtras();
if(extras != null) {
    final int counterValue = extras.getInt("counter-value", -1);
    showCountDown(counterValue);
}
读取活动中的值:

final Intent intent = new Intent(getActivity(), ActivityName.class);
intent.putExtra("counter-value", counterValue);
getActivity().startActivity(intent);
final Bundle extras = getIntent().getExtras();
if(extras != null) {
    final int counterValue = extras.getInt("counter-value", -1);
    showCountDown(counterValue);
}
现在,将该值传递给
倒计时程序

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();
}

谢谢你的快速回答。那么我必须在哪里调用捆绑包呢?在
监听器中
哦。。。我不明白你的意思。我的意思是读取传递给MainActivity的值。如代码所示,我需要将该值存储到一个变量中,然后使用该变量设置timer@Lyra,在
onCreate()
中检查
getIntent()!=空
并获取一个包。您好@CoolMind,您的意思是通过“获取一个包”读取值吗?抱歉这么无知和愚蠢,最好的办法是使用接口概念而不是捆绑包@天琴座。我在学习