- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个类被 fragment 覆盖。主页.javahometwo.java
单击名为 home.java 的类的名为 btn 的按钮。我希望在名为 btnctwo 的按钮上自动单击名为 hometwo.java 的类。
home.java
public class home extends Fragment {
Button btn;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home, container, false);
btn = rootView.findViewById(R.id.btnc);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hometwo hometwox = new hometwo();
hometwox.btnctwo
.post(new Runnable(){
@Override
public void run() {
hometwox.btnctwo.performClick();
}
});
}
});
return rootView;
}
}
hometwo.java
public class hometwo extends Fragment {
Button btnctwo;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home, container, false);
btnctwo = rootView.findViewById(R.id.btnctwo);
btnctwo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("testler","testlertwo");
}
});
return rootView;
}
}
日志猫
2020-05-18 11:17:54.907 11290-11290/com.sahnartsappone.sahnartsapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sahnartsappone.sahnartsapp, PID: 11290
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.widget.Button.post(java.lang.Runnable)' on a null object reference
at com.sahnartsappone.sahnartsapp.home$1.onClick(home.java:30)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
为什么performClick()方法不起作用?我哪里出错了?
最佳答案
问题出在这里:
hometwo hometwox = new hometwo();
hometwox.btnctwo
.post...
如果您只创建 fragment ,它将无法到达 onCreateView
方法,因此它不会从 hometwox
注入(inject) btnctwo
按钮 View 中的按钮实例(因为不会有任何 View )。因此基本上您将在空引用上调用 post
方法。
因此解决方案是使用如下方式渲染 fragment :
FragmentTransaction transaction = this.fragmentManager.beginTransaction();
transaction.replace(R.id.frame_container, fragment);
transaction.addToBackStack(null);
transaction.commit();
关于java - PerformClick()方法返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61865570/
我正在尝试触发轮播上的点击。我希望如果我按下前进按钮,它会自动触发轮播上的点击,然后前进。手动单击(物理触摸)有效,但 PerformClick() 无效。代码如下 //************* F
我有 2 个类被 fragment 覆盖。主页.javahometwo.java 单击名为 home.java 的类的名为 btn 的按钮。我希望在名为 btnctwo 的按钮上自动单击名为 home
我需要在30个按钮上触发30次按钮单击,但应用程序崩溃可能是由于过度使用内存造成的,我在Enter键侦听器中对每个按钮执行了单击。 还有另一种方法可以触发按钮单击,也许有一个按钮可以同时触发30个按钮
我有一个 Activity ,其中一个用户向另一个用户发送消息,我创建了一个 onKey 监听器,以便在用户按下 Enter 时发送消息。 当用户实际单击发送按钮时,一切正常,当用户按下回车按钮时,会
我有2个java类 我想在单击 btn 时单击 btntwo。 当我单击名为 btn 的按钮时,我想自动单击名为 btn 的按钮 2。但我收到一个错误。 主要 Activity public cla
我正在对一项 Activity 进行单元测试。我的 Activity 有一个调用简单方法的按钮(没有 Activity 、服务或其他任何内容)。 java.lang.NullPointerExcept
是否有任何情况会导致 v.performClick() 没有响应。 public class AnalyzeCompleteListener implements Listner { publ
我正在开发一个 C# WinForms 应用程序,其中有许多进程都由“主”应用程序管理。在这个主应用程序中,每个进程都由其自己的 FlowLayoutPanel 可视化,其中包含许多用于各种功能的按钮
我像这样在 form_load 中调用按钮点击: public void Form1_Load(object s, EventArgs e) { button.PerformClick();
我在适配器中有以下代码来处理对 CheckBox 的点击。 gview 引用适配器的 getView() 中的 View 参数 适配器代码: selected.setOnChecked
我想performClick() 到android 上的坐标。它应该能够与外部应用程序交互。类似于 Windows 上的幽灵鼠标。 最佳答案 你可以给系统注入(inject)触摸事件,这里有一个教程
我有一个数值为 1-50 的微调器。 默认情况下没有任何选择的值。所以,我将它的选择设置为 0。 spin.setSelection(0); 现在,当用户 performClick 然后微调器打开选
我正在尝试对 Fragment 中的按钮执行单击。就像在下面的过程中: 点击 Fragment Navigation Drawer 中的 A 应用打开 fragment A 当 Fragment A
我正在搜索以编程方式单击方法的函数。所以我找到了一些方法。 '执行点击()' 像那样: recyclerView.findViewHolderForAdapterPosition(position).
我在使用 PerformClick 调用 async 事件处理程序的 Windows 窗体应用程序中遇到问题。事件处理程序似乎没有 await 而是立即返回。我已经创建了这个简单的应用程序来显示问题(
我有一个带有 android:autoLink="all" 的 TextView: 出于某种原因我想打开一个在android:text中设置的链接(它可能是电话号码,电子邮件等)。当我运行应用程序时
我知道我可以通过调用 performClick 在代码中手动触发 Button 的 OnClickListener.onClick,但这似乎并没有使它在被单击时直观地显示出来。我正在寻找一种方法来手动
我有一个按钮的自定义类,当我为我的任何自定义按钮触发 PerformClick 时,没有任何反应。这是代码: 自定义类的声明 public class NonFocusButton : Button
spinner 有点问题。 我创建了一个 Spinner 用户点击一个按钮。 Spinner 按应有的方式显示,但是当调用 onItemSelected 时什么也没有发生。 这是代码 public v
我使用的是 Visual c# express 2010,我有 3 个选项卡,在第一个选项卡上有一个退出程序的按钮。我正在尝试用 在第二个和第三个选项卡上调用该按钮 btnExit.PerformCl
我是一名优秀的程序员,十分优秀!