2

在我的主要活动中,我试图访问我在主 ScrollView 中拥有的 LinearLayout。我的 ScrollView 实现如下:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:id="@+id/graph" 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="250dip"
         />



</ScrollView>

在我的主要活动中,我膨胀了滚动视图,然后尝试访问线性布局,如下所示:

LayoutInflater inflater;
    inflater = (LayoutInflater)  this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);              

    ScrollView mainLayout = (ScrollView) inflater.inflate(R.layout.scrollview,
                    null);
    LinearLayout layout = (LinearLayout) findViewById(R.id.graph);

为什么我的 findViewById 会在这里返回 null?起初我以为它试图在它完成充气之前找到它,但我试过有一个 while 循环来等待它完成充气,这也无济于事。

4

2 回答 2

4

你必须给它膨胀的布局

LinearLayout layout = (LinearLayout) mainLayout.findViewById(R.id.graph);
于 2013-06-06T20:52:09.247 回答
0

您可以先检查是否在 inflater.inflate() 中指定了错误的布局。

于 2014-06-02T04:03:45.933 回答