将值从片段传递到另一个 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();
}
我有一个 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();
}