先看下列xml代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/wordBgRL"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/dictionaryButton"
android:background="@drawable/dictionary_btn_bg"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
style="@style/WrapContentWidgetStyle"
/>
</RelativeLayout>
在java代码里取出wordBgRL 始终为null;
wordBgRL = (RelativeLayout)findViewById(R.id.wordBgRL); // wordBgRL alwasys == null
dictionaryButton = (Button)findViewById(R.id.dictionaryButton); // dictionaryButton != null
后来发现你必须自己另写一个RelativeLayout,可能因为 xmlns:android="http://schemas.android.com/apk/res/android" 它存在的原因吧。
<?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/wordBgRL"
style="@style/FillParentWidgetStyle"
>
<Button
android:id="@+id/dictionaryButton"
android:background="@drawable/dictionary_btn_bg"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
style="@style/WrapContentWidgetStyle"
/>
</RelativeLayout>
</RelativeLayout>