在我的应用程序中,我想使用Fragment
中的Activity
和startActivity
,并且我想从fragment
中使用startActivity
,并且我应该使用activity
发送数据
我编写了以下代码,但是在运行应用程序时,在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)
}
中显示 null !
片段代码:
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
的按钮时,我会在{strong> toast 中显示activity
。
但是请向@Table(uniqueConstraints=@UniqueConstraint(columnNames = {"A", "B"}))
显示空!
我用科特林语言。
我该如何解决?
答案 0 :(得分:1)
您需要在片段中使用这样的意图。
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)
希望这对您有用。
答案 1 :(得分:1)
此行:
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
我怀疑response.user.wallet.credit
不是字符串。所以下面的行:
userWallet = intent?.getStringExtra(USER_WALLET_PRICE).toString()
用USER_WALLET_PRICE
键找不到多余的字符串。检查int是什么类型的response.user.wallet.credit?长?可序列化?并确保您使用相同的类型
答案 2 :(得分:0)
尝试一下,可能有帮助
Intent intent = new Intent(getActivity(), LoadActivity.class);
intent.putExtra(USER_WALLET_PRICE, response.user.wallet.credit)
intent.putExtra(USER_CHARGED_VALUE, 0)
startActivity(intent);