大佬教程收集整理的这篇文章主要介绍了当我尝试从片段中显示或隐藏浮动操作按钮时出错,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
package cl.itn.cam;
import androID.os.bundle;
import com.Google.androID.material.floaTingactionbutton.floaTingActionbutton;
import com.Google.androID.material.snackbar.Snackbar;
import androIDx.appcompat.app.AppCompatActivity;
import androIDx.appcompat.Widget.Toolbar;
import androIDx.fragment.app.Fragment;
import androIDx.fragment.app.Fragmenttransaction;
import androIDx.navigation.fragment.NavHostFragment;
import androID.vIEw.VIEw;
public class NCR extends AppCompatActivity {
Fragmenttransaction transaction;
Fragment fragmentFirst,fragmentSecond;
floaTingActionbutton fab = findVIEwByID(R.ID.fab);
@OverrIDe
protected voID onCreate(Bundle savedInstanceStatE) {
super.onCreate(savedInstanceStatE);
setContentVIEw(R.layout.activity_n_c_r);
fragmentFirst = new FirstFragment();
fragmentSecond = new SecondFragment();
}
public floaTingActionbutton getfloaTingActionbutton() {
return fab;
}
public voID showfloaTingActionbutton() {
fab.show();
}
public voID hIDefloaTingActionbutton() {
fab.hIDe();
}
}
@H_944_2@FirstFragment.java:
public class FirstFragment extends Fragment {
@OverrIDe
public VIEw onCreateVIEw(
LayoutInflater inflater,VIEwGroup container,Bundle savedInstanceState
) {
final floaTingActionbutton fab = ((NCR) getActivity()).getfloaTingActionbutton();
if (fab != null) {
((NCR) getActivity()).hIDefloaTingActionbutton();
}
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_first,container,falsE);
}
public voID onVIEwCreated(@NonNull View view,Bundle savedInstanceStatE) {
super.onVIEwCreated(vIEw,savedInstanceStatE);
vIEw.findVIEwByID(R.ID.button_first).setonClickListener(new VIEw.onClickListener() {
@OverrIDe
public voID onClick(View view) {
NavHostFragment.findNavController(FirstFragment.this)
.navigate(R.ID.action_FirstFragment_to_SecondFragment);
}
});
}
}
@H_944_2@SecondFragment.java:
public class SecondFragment extends Fragment {
@OverrIDe
public VIEw onCreateVIEw(
LayoutInflater inflater,Bundle savedInstanceState
) {
final floaTingActionbutton fab = ((NCR) getActivity()).getfloaTingActionbutton();
if (fab != null) {
((NCR) getActivity()).showfloaTingActionbutton();
}
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_second,falsE);
}
public voID onVIEwCreated(@NonNull View view,savedInstanceStatE);
vIEw.findVIEwByID(R.ID.button_second).setonClickListener(new VIEw.onClickListener() {
@OverrIDe
public voID onClick(View view) {
NavHostFragment.findNavController(SecondFragment.this)
.navigate(R.ID.action_SecondFragment_to_FirstFragment);
}
});
}
@H_944_2@应用程序在尝试使用以下堆栈跟踪显示主要活动时崩溃:
@H_944_2@** 2021-03-19 11:04:56.979 32471-32471/cl.itn.cam E/AndroIDRuntime:致命异常:主要
进程:cl.itn.cam,PID:32471
java.lang.RuntimeException:无法实例化活动 ComponenTinfo{Cl.itn.cam/cl.itn.cam.NCR}:java.lang.NullPointerException:尝试调用虚拟方法 'androID.content.pm.ApplicationInfo androID.content。 Context.getApplicationInfo()' 在空对象引用上
在 androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:3401)
在 androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3620)
在 androID.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
在 androID.app.servertransaction.transactionExecutor.executeCallBACks(transactionExecutor.java:135)
在 androID.app.servertransaction.transactionExecutor.execute(transactionExecutor.java:95)
在 androID.app.ActivityThread$H.handlemessage(ActivityThread.java:2183)
在 androID.os.Handler.dispatchmessage(Handler.java:107)
在 androID.os.Looper.loop(Looper.java:241)
在 androID.app.ActivityThread.main(ActivityThread.java:7604)
在 java.lang.reflect.Method.invoke(Native Method)
在 com.androID.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
在 com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:941)
引起:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“androID.content.pm.ApplicationInfo androID.content.Context.getApplicationInfo()”
**
final FloaTingActionButton fab = ((NCR) getActivity()).getFloaTingActionButton();
@H_944_2@与
FloaTingActionButton fab = findViewById(R.id.fab);
@H_944_2@在你的片段中。这应该消除错误
,
@H_944_2@解决了!
@H_944_2@在公开课 NCR 中,我替换了“FloaTingActionButton fab = findViewById(R.id.fab);”通过“FloaTingActionButton fab;”,然后在 onCreate 事件中我添加了“fab = findViewById(R.id.fab);”
@H_944_2@谢谢!
以上是大佬教程为你收集整理的当我尝试从片段中显示或隐藏浮动操作按钮时出错全部内容,希望文章能够帮你解决当我尝试从片段中显示或隐藏浮动操作按钮时出错所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。