我有一个LinearLayout
,我想使用CardView
将我的新以编程方式添加为其中的LayoutInflater
作为孩子。
llMain = (LinearLayout)findViewById(R.id.llMain); LayoutInflater inflater = getLayoutInflater(); Bundle extras = getIntent().getExtras(); if (extras != null) { final TextView tvAdded = new TextView(this); CardView cvAdded = new CardView(this); tvAdded.setTextSize(18); tvAdded.setTextColor(Color.BLACK); tvAdded.setClickable(true); tvAdded.setPadding(0, 10, 0, 0); tvAdded.setGravity(Gravity.CENTER); String value = extras.getString("etTest"); tvAdded.setText(value); cvAdded = (CardView) inflater.inflate((XmlPullParser) llMain, cvAdded, false); cvAdded.addView(tvAdded); cvAdded.setLayoutParams(new CardView.LayoutParams(CardView.LayoutParams.MATCH_PARENT, CardView.LayoutParams.MATCH_PARENT)); llMain.addView(cvAdded); }
我想要的输出应该是
CardView
,显示匹配父级的宽度和高度,也就是llMain
,但问题是,当我运行它时,它会使应用程序崩溃。这是崩溃的日志
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wordpress.fidzsoftware/com.wordpress.fidzsoftware.MainActivity}: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to org.xmlpull.v1.XmlPullParser
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2695)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
Caused by: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to org.xmlpull.v1.XmlPullParser
at com.wordpress.fidzsoftware.MainActivity.onCreate(MainActivity.java:50)
at android.app.Activity.performCreate(Activity.java:6178)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
我有一个LinearLayout,我想使用LayoutInflater llMain =(LinearLayout)findViewById(R.id.llMain);以子级的方式在其中添加以编程方式添加的CardView作为孩子。 LayoutInflater ...
更改此行: