<resources>
<declare-styleable name="Options">
<attr name="titleText" format="string" localization="suggested" />
<attr name="valueColor" format="color" />
</declare-styleable>
</resources> [/syntax]
Как и указано в хелпе я создал реализацию AttributeSet для данного XML. Передал его в LayoutParams в конструктор и ничего не произошло, скормил получившийся LayoutParams обхекту TexView и приложение начало падать. Вот код: [syntax=java]protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv =(TextView) findViewById(R.id.tView);
XmlPullParser parser=getResources().getXml(R.xml.yt);
AttributeSet attrs= Xml.asAttributeSet(parser);
LayoutParams lp = new LayoutParams(this, attrs);
tv.setLayoutParams(lp);
}[/syntax]
Вот лог:
Код: Выделить всё
07-25 22:11:47.629: E/AndroidRuntime(590): FATAL EXCEPTION: main
07-25 22:11:47.629: E/AndroidRuntime(590): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.p00141_menuadv/com.example.p00141_menuadv.MainActivity}: java.lang.RuntimeException: Binary XML file line #-1: You must supply a layout_width attribute.
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.os.Handler.dispatchMessage(Handler.java:99)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.os.Looper.loop(Looper.java:123)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.ActivityThread.main(ActivityThread.java:4627)
07-25 22:11:47.629: E/AndroidRuntime(590): at java.lang.reflect.Method.invokeNative(Native Method)
07-25 22:11:47.629: E/AndroidRuntime(590): at java.lang.reflect.Method.invoke(Method.java:521)
07-25 22:11:47.629: E/AndroidRuntime(590): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-25 22:11:47.629: E/AndroidRuntime(590): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-25 22:11:47.629: E/AndroidRuntime(590): at dalvik.system.NativeStart.main(Native Method)
07-25 22:11:47.629: E/AndroidRuntime(590): Caused by: java.lang.RuntimeException: Binary XML file line #-1: You must supply a layout_width attribute.
07-25 22:11:47.629: E/AndroidRuntime(590): at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3592)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.view.ViewGroup$LayoutParams.<init>(ViewGroup.java:3545)
07-25 22:11:47.629: E/AndroidRuntime(590): at com.example.p00141_menuadv.MainActivity.onCreate(MainActivity.java:32)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-25 22:11:47.629: E/AndroidRuntime(590): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
07-25 22:11:47.629: E/AndroidRuntime(590): ... 11 more