我正在關注此android developer page以創建應用程序的自定義屬性。一切都很順利,我能夠編譯並看到結果。 但是問題的部分是IDE.Android Studio正在抱怨意外的命名空間自定義。有什麼辦法可以禁用/隱藏這個錯誤信息嗎?這非常煩人。嘗試使用自定義屬性時發現標記片段的意外名稱空間前綴「自定義」
但是,即使有這個錯誤,我也能編譯和運行應用程序。
我跟着follwing步驟。
1)創建RES /價值/ attrs.xml文件,並添加
<?xml version="1.0" encoding="utf-8"?> <resources>
<declare-styleable name="FragArguments">
<attr name="max_allowed" format="integer"/>
<attr name="header" format="string"/>
</declare-styleable>
2)想在我mainlayout文件的片段標籤
<LinearLayout xmlns:custom="http://schemas.android.com/apk/res"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1">
<fragment android:id="@+id/msg"
android:name="org.android.fragment.MessageFragment"
custom:max_allowed="85"
custom:header="@string/header"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
</LinearLayout>
3.應用使用自定義屬性通過代碼覆蓋片段的onInflate()方法
@Override
public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) {
super.onInflate(activity, attrs, savedInstanceState);
TypedArray typedArray = activity.obtainStyledAttributes(attrs, R.styleable.FragArguments);
max_allowed = typedArray.getInt(R.styleable.FragArguments_max_allowed, -1);
header = typedArray.getString(R.styleable.FragArguments_header);
typedArray.recycle();
}