Android 如何不点击按钮直接调用活动?
我正在开发stripe终端android应用程序,他们有内置的应用程序,但我想根据使用情况进行定制 链接 当我打开应用程序时,它首先会给我一个片段,用来发现阅读器 但我希望它能够自动点击,而不需要任何点击,它应该像点击一样工作,这样就不需要每次都手动发现阅读器Android 如何不点击按钮直接调用活动?,android,android-fragments,Android,Android Fragments,我正在开发stripe终端android应用程序,他们有内置的应用程序,但我想根据使用情况进行定制 链接 当我打开应用程序时,它首先会给我一个片段,用来发现阅读器 但我希望它能够自动点击,而不需要任何点击,它应该像点击一样工作,这样就不需要每次都手动发现阅读器 @Override public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(
@Override
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.findViewById(R.id.discover_button).setOnClickListener(v -> {
final FragmentActivity activity = getActivity();
if (activity instanceof NavigationListener) {
((NavigationListener) activity).onRequestDiscovery(viewModel.getSimulated());
}
});
但是,当前的代码是调用onRequestDiscovery
,只有在点击按钮后才执行,我怎么能像javascript中那样呢
document.getElementById(“演示”).click()
还是类似的?因此,无需手动单击,它将继续进行
由Sebastein在回答后编辑
添加了这一行,但我想单击并调用函数onRequestDiscovery()
,该函数不起作用
view.findViewById(R.id.discover_按钮)。performClick()
Sebastein编辑回复后添加的屏幕截图
添加单击侦听器后使用方法performClick():
@Override
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button button = view.findViewById(R.id.discover_button)
button.setOnClickListener(v -> {
final FragmentActivity activity = getActivity();
if (activity instanceof NavigationListener) {
((NavigationListener) activity).onRequestDiscovery(viewModel.getSimulated());
}
button.performClick();
});
但对我来说,最好的方法不是在片段中启动活动,而是直接在实例化片段的活动中启动活动。发现此链接很有用,但正在研究/弄清楚如何使其工作。非常抱歉,为了在没有阅读错误的情况下发布,我错误地编写了两次函数
GetSharedReferencesGetSharedReferences
,而我必须尝试GetSharedReferences()
一次。对此社区表示抱歉,但我不会删除此帖子以隐藏我的错误。谢谢@Sebastien,但它现在正在工作,我正在更新我对您回复的回答。我说过您在setOnClickListener之后调用performClick()!好的,Sebastein,我尝试在setOnClickListener
view.findViewById(R.id.discover_按钮).setOnClickListener(v->{final FragmentActivity activity=getActivity();if(activity instanceof NavigationListener){((NavigationListener)activity.onRequestDiscovery(viewModel.getSimulated());}});view.findViewById(R.id.discover_按钮)。performClick();
您能提供完整的代码段参考吗?让我们来看看。