我有我創建了一個XML配置文件:如何訪問佈局視圖?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText_dateStart"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimary"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:padding="20dp"
android:hint="Start Date"
android:inputType="date"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/editText_dateEnd"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimary"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:padding="20dp"
android:hint="End Date"
android:inputType="date"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button_ok"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
android:text="Ok"
android:textColor="#ffffffff"
android:background="@color/colorPrimaryDark"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
我要訪問的佈局,並在一個類中的方法,我寫返回佈局的觀點:
public class Utility {
// 6 - LayoutInflate tool start
public static View getViewOfLayout(Activity activity, int layoutId, int viewId) {
LayoutInflater lin = activity.getLayoutInflater();
View view = lin.inflate(layoutId, null);
view = view.findViewById(viewId);
return view;
}
// LayoutInflate tool end
}
我也希望能夠訪問Activity類的觀點:
Button button = (Button) Utility.getViewOfLayout(this, R.layout.datedialogbox, R.id.button_ok);
button.setText("a");
當我運行上面的代碼,什麼都沒有發生:文並沒有「一」預期從「OK」改變。
當你說什麼都沒有發生,你是什麼意思?當您在代碼中設置斷點時,值是否爲空?如果是這樣的話,等等。 –
它的按鈕的平均文本沒有設置爲「OK」,,,我設置的斷點按鈕值不爲空,,, –
爲什麼你這樣做,對於每個視圖映射,你實際上整個佈局。 – YakuZa