当前位置: 首页 > 知识库问答 >
问题:

Android将普通布局改为制表符布局,图片按钮和其他错误?

谭向晨
2023-03-14

我按照这个方法创建了一个Android Radio流

在那里我添加了,但我有很多错误,所以我改变了一些像

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main_activity);

对此

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View viewRoot = inflater.inflate(R.layout.main_activity, container, false);
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setBackground(android.graphics.drawable.Drawable)' on a null object reference
at star.yx.tabview.ProfileFragment.updatePlayStatus(ProfileFragment.java:370)
at star.yx.tabview.ProfileFragment.setIFace(ProfileFragment.java:205)
at star.yx.tabview.ProfileFragment.onCreateView(ProfileFragment.java:158)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298)
at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092)
at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1969)
at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:620)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:143)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)
at android.view.View.measure(View.java:18596)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:464)
at android.view.View.measure(View.java:18596)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
at android.view.View.measure(View.java:18596)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:393)
at android.view.View.measure(View.java:18596)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at android.view.View.measure(View.java:18596)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:721)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:612)
at android.view.View.measure(View.java:18596)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2897)
at android.view.View.measure(View.java:18596)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2248)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1306)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1548)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1191)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6642)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
at android.view.Choreographer.doCallbacks(Choreographer.java:590)
at android.view.Choreographer.doFrame(Choreographer.java:560)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:

为了测试的目的,我在ProfileFragment中添加了我的代码....

有没有人可以建议我如何使用我的活动片段像我的示例表布局请建议我在这类

更新

共有1个答案

高经艺
2023-03-14

原因

OnResume中,您正在调用SetIFace()方法,该方法在内部触发UpdatePlayStatus方法。

如果查看updatePlayStatus方法,您将看到有一个ImageView播放器,该播放器被分配给ID为icon_play的视图

private void updatePlayStatus() {
    ImageView play = (ImageView) findViewById(R.id.icon_play);

    if ("stop".equals(etat_lecture) || "pause".equals(etat_lecture)) {
        play.setBackground(getDrawable(R.drawable.ic_equalizer0));
    } else {
        play.setBackground(getDrawable(R.drawable.ic_equalizer));
    }
}

解决方案

  • 首先,检查片断类IE中是否使用了正确的布局。必须有ID为icon_play的视图。
  • 其次,尽量清理和建设项目。这可能是由于生成的r.java类有错误
  • 最重要的是,使用viewroot.findViewById而不是getActivity().findViewById,getActivition可能返回null,或者更好地使用ButterKnife来避免所有这些样板

MainActivity代码是完整的网格,我把它分解成碎片

您可以在我的GitHub上查看源代码

https://github.com/hiteshsahu/android-radio

 类似资料:
  • 问题内容: 好吧,这种特定的布局让我很烦。而且似乎找不到找到listView的方法,在底部有一行按钮,这样listview不会延伸到按钮的上方,因此这些按钮始终固定在屏幕的底部。这就是我想要的: 删除了死的ImageShack链接 似乎应该这么简单,但是我尝试过的所有方法都失败了。有什么帮助吗? 这是我当前的代码: 问题答案: 我认为这就是您想要的。

  • 本文向大家介绍Android布局之表格布局TableLayout详解,包括了Android布局之表格布局TableLayout详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android表格布局TableLayout的具体代码,供大家参考,具体内容如下 1.TableLayout TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象, 当

  • 有什么建议为什么我会在layout_behavior上出现这个错误,以及如何修复它?

  • 嘿我真的需要你的帮助。 我的问题是Android Studio不会在仿真器或物理设备中正确显示布局。每当我放置一个textView、button等,并且我想要将它居中(水平、垂直或两者),并且我启动仿真器时,它就会被贴在左上角。 这是我的代码:: 在showHint方法中,一切工作都很好。按钮和imageview就在我设置的地方。 但是在firstStage方法中,我有一个textView,如果我

  • 有人能告诉我用Java实现下图中的布局最简单的方法吗? JFXPanel应该占用所有屏幕空间,但在调整窗口大小时应该保持相同大小的按钮除外。 我所做的一切都让按钮太大了。也许是JFXPanel的大小弄乱了,我不知道。 谢谢,这快把我逼疯了。

  • 问题内容: 我有一个带有两个布局的Activity,都在R.layout.main中实现。第一个是带有应用程序主屏幕的相对布局,另一个是具有一种首选项屏幕的表布局。通常,第一个设置为可见,第二个设置为消失。通过单击一个按钮,我使相对布局消失了,并且表格布局可见。这开始了我的问题,我想为该表布局(实际上是一个按钮数组)设置一个OnClickListener。我尝试了类似的东西: 显然,它不起作用。我