Android 将值从片段传递到另一个活动
我有一个DialogFragment,它有一个listView作为容器。我已经在listView上设置了一个侦听器 当用户触摸一个项目并将其传递给另一个活动,然后将该值存储到变量中时,如何获取该值?我需要根据要选择的项目设置倒计时。实际上只能显示带有项目位置的简单toast消息 注意,值将被传递到的活动不是片段活动 我在考虑Bundle,但即使在阅读了谷歌网站上的文档后,对编程没有太多的了解也是一件痛苦的事情 在MainActivity上,以下是我如何设置计时器:Android 将值从片段传递到另一个活动,android,android-fragments,bundle,android-fragmentactivity,Android,Android Fragments,Bundle,Android Fragmentactivity,我有一个DialogFragment,它有一个listView作为容器。我已经在listView上设置了一个侦听器 当用户触摸一个项目并将其传递给另一个活动,然后将该值存储到变量中时,如何获取该值?我需要根据要选择的项目设置倒计时。实际上只能显示带有项目位置的简单toast消息 注意,值将被传递到的活动不是片段活动 我在考虑Bundle,但即使在阅读了谷歌网站上的文档后,对编程没有太多的了解也是一件痛苦的事情 在MainActivity上,以下是我如何设置计时器: new CountDownTi
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,您的意思是通过“获取一个包”读取值吗?抱歉这么无知和愚蠢,最好的办法是使用接口概念而不是捆绑包@天琴座。我在学习