我知道有很多问题与我相似,但他们都没有给我答案。
我有一个布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:id="@+id/layout_main">
<HorizontalScrollView
android:id="@+id/scroll">
<LinearLayout
android:id="@+id/linear">
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
并且在Activity的onCreate中发生以下情况:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layoutMain = (RelativeLayout) findViewById(R.id.layout_main);
linearLayout = (LinearLayout) findViewById(R.id.linear);
scrollView = (HorizontalScrollView) findViewById(R.id.scroll);
linearLayout和scrollView都包含我需要的视图,但layoutMain为null。怎么会发生这种情况?如何获得findViewById(R.id.layout_main)
?
答案 0 :(得分:1)
如果你正在使用Android Studio等待gradle完成项目的构建,这可能会解决问题。另请尝试重新启动Android Studio。
答案 1 :(得分:0)
你没有layout_height。将它设置在match_patent上。
答案 2 :(得分:0)
您的xml布局缺少重要属性。为视图提供android:layout_height
和android:layout_width
。请参阅以下xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/layout_main">
<HorizontalScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
<强>更新强>
正如您在评论中所说,宽度/高度属性存在于实际代码中。然后我建议项目模块下的删除构建文件夹的子目录并重建项目