如何将数据从片段发送到 Android 中的 Activity
How to send data from fragment to Activity in Android
在我的应用程序中,我想使用 Fragment
和 Activity
,我想从这个 fragment
中获取 startActivity
,我应该使用 startActivity
[= 发送数据39=]
我写了下面的代码,但是当 运行 应用程序在 activity
!
中显示 null
片段代码:
homeDashboard_giftInfoLayout.setOnClickListener {
val intent = Intent(requireContext(), DashboardChargeWalletActivity::class.java)
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent)
}
Activity 代码:
userWallet = intent?.getStringExtra(USER_WALLET_PRICE).toString()
userWallet.let {
//User wallet
dashboardChargeWallet_userWallet.text =
"${getString(R.string.walletInventory)}: $userWallet ${getString(R.string.toman)}"
}
当单击 startActivity
的按钮时,我将此 response.user.wallet.credit
显示到 toast.
但是进入 activity
告诉我 null !
我使用 Kotlin 作为语言。
我该如何解决?
您需要从片段中使用这样的意图。
homeDashboard_giftInfoLayout.setOnClickListener {
val intent = Intent(activity, DashboardChargeWalletActivity::class.java)
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent);
}
你也可以使用 requireActivity
val intent=Intent(requireActivity(),DashboardChargeWalletActivity::class.java)
希望这对您有用。
试试这个,可能会有帮助
Intent intent = new Intent(getActivity(), LoadActivity.class);
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent);
这一行:
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
我怀疑 response.user.wallet.credit
不是字符串。所以下面一行:
userWallet = intent?.getStringExtra(USER_WALLET_PRICE).toString()
找不到带有 USER_WALLET_PRICE
键的额外字符串。查看 response.user.wallet.credit 是什么类型,int?长的?可序列化?并确保你通过相同的类型获得它
在我的应用程序中,我想使用 Fragment
和 Activity
,我想从这个 fragment
中获取 startActivity
,我应该使用 startActivity
[= 发送数据39=]
我写了下面的代码,但是当 运行 应用程序在 activity
!
中显示 null
片段代码:
homeDashboard_giftInfoLayout.setOnClickListener {
val intent = Intent(requireContext(), DashboardChargeWalletActivity::class.java)
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent)
}
Activity 代码:
userWallet = intent?.getStringExtra(USER_WALLET_PRICE).toString()
userWallet.let {
//User wallet
dashboardChargeWallet_userWallet.text =
"${getString(R.string.walletInventory)}: $userWallet ${getString(R.string.toman)}"
}
当单击 startActivity
的按钮时,我将此 response.user.wallet.credit
显示到 toast.
但是进入 activity
告诉我 null !
我使用 Kotlin 作为语言。
我该如何解决?
您需要从片段中使用这样的意图。
homeDashboard_giftInfoLayout.setOnClickListener {
val intent = Intent(activity, DashboardChargeWalletActivity::class.java)
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent);
}
你也可以使用 requireActivity
val intent=Intent(requireActivity(),DashboardChargeWalletActivity::class.java)
希望这对您有用。
试试这个,可能会有帮助
Intent intent = new Intent(getActivity(), LoadActivity.class);
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent);
这一行:
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
我怀疑 response.user.wallet.credit
不是字符串。所以下面一行:
userWallet = intent?.getStringExtra(USER_WALLET_PRICE).toString()
找不到带有 USER_WALLET_PRICE
键的额外字符串。查看 response.user.wallet.credit 是什么类型,int?长的?可序列化?并确保你通过相同的类型获得它