簡體   English   中英

將值從片段傳遞到另一個活動

[英]Passing values from a fragment to another activity

我有一個 DialogFragment,它有一個 listView 作為容器。 我已經在 listView 上設置了 OnItemClickListener。

當用戶觸摸一個項目並將其傳遞給另一個活動然后將該值存儲到變量中時,如何獲取該值? 我需要根據將選擇的項目設置倒數計時器。 實際上只能顯示帶有項目位置的簡單吐司消息。

請注意,值將傳遞到的活動不是片段活動。

我正在考慮 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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM