Android:findViewById为嵌套的相对布局中的视图返回null

时间:2016-05-05 17:48:31

标签: java android android-layout

我希望获得对TextView的引用,但它会返回null个对象。这是带有布局的xml文件。

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

    <RelativeLayout
        android:id="@+id/relative1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:id="@+id/textView1" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Medium Text"
            android:id="@+id/textView2" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Small Text"
            android:id="@+id/textView3" />

    </RelativeLayout>
</RelativeLayout>

不介意缺少对齐等,我删除了与此无关的内容。我尝试按照通常的方式(我应该提到这是一个列表项)这样做:

TextView textView1 = (TextView) rowView.findViewById(R.id.textView1);
TextView textView2 = (TextView) rowView.findViewById(R.id.textView2);
TextView textView2 = (TextView) rowView.findViewById(R.id.textView3);

当这不起作用时,我做了一些研究,并意识到我可能需要在特定的布局中调用它们,如下所示:

RelativeLayout rel = (RelativeLayout) rowView.findViewById(R.id.relative1);
TextView textView1 = (TextView) rel.findViewById(R.id.textView1);
TextView textView2 = (TextView) rel.findViewById(R.id.textView2);
TextView textView2 = (TextView) rel.findViewById(R.id.textView3);

但这也不起作用,我似乎找不到任何其他方法来解决问题。

1 个答案:

答案 0 :(得分:0)

尝试清理项目...... 构建 - &gt;清洁项目