我是 android studio 的新手,還不完全了解它的作業原理,但我一直在嘗試將資料從一個片段發送到 android studio 中的另一個片段。我一直無法找到這個問題的明確答案。我想要做的是制作一個基本的停車應用程式,其中掃描二維碼,二維碼中的資料(停車名稱和每小時價格)將發送到下一個片段,因為二維碼掃描儀片段將打開一個我需要停車資料的 addParkingSession 片段。我一直在嘗試使用“導航”來執行此操作,但我無法找到通過此方法發送資料的方法。有沒有更適合這個的不同方法(盡管它必須從一個片段到另一個片段)我一直在嘗試使用意圖,但導航沒有'
這是我的一些代碼作為示例。感謝您的幫助和理解
codeScanner.setDecodeCallback(new DecodeCallback() {
@Override
public void onDecoded(@NonNull Result result) {
getActivity().runOnUiThread(new Runnable(){
@Override
public void run(){
if(result.getText() != null) {
String[] parkingdata = resultData.toString().split(",");
Intent intent = new Intent(getActivity().getBaseContext(), AddSession.class);
intent.putExtra("parkingName", parkingdata[0]);
intent.putExtra("parkingPrice", parkingdata[1]);
Navigation.findNavController(view).navigate(R.id.action_qrSession_to_addSession);
}
}
});
}
});
uj5u.com熱心網友回復:
您可以將 bundle 物件作為第二個引數傳入,.navigate()并在您的片段中使用getArguments().
final Bundle bundle = new Bundle();
bundle.putString("test", "Hello World!");
Navigation.findNavController(view).navigate(R.id.action_qrSession_to_addSession, bundle);
public class MyFragment extends Fragment {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// the string you passed in .navigate()
final String text = getArguments().getString("test");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/367754.html
