有人请向我解释我怎么能如此setContentView在相对布局? 我添加了一个活动,但我得到的错误,nullpointers ...如何在RelativeLayout中设置ContentView? (进度条)
我想这:
public ProgressbarActivity(Context context) {
super(context);
Activity a = new Activity();
RelativeLayout rl = new RelativeLayout(getContext());
LinearLayout k = new LinearLayout(getContext());
k.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
LinearLayout z = new LinearLayout(getContext());
z.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
RoundRectShape s = new RoundRectShape(f, null, null);
ShapeDrawable shapedrawable = new ShapeDrawable(s);
shapedrawable.setShape(s);
shapedrawable.getPaint().setColor(0xffffffff);
RoundRectShape s1 = new RoundRectShape(f, null, null);
ShapeDrawable sd = new ShapeDrawable(s1);
sd.setShape(s1);
sd.getPaint().setColor(0xff0080ff);
rl.setLayoutParams(new LayoutParams(200, 25));
LayoutParams lp = new LayoutParams(200, 20);
rl.setPadding(0, 100, 0, 0);
rl.setGravity(Gravity.CENTER_HORIZONTAL);
ImageView iv = new ImageView(getContext());
iv.setBackgroundDrawable(shapedrawable);
iv.setLayoutParams(lp);
GradientDrawable g = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colours);
ImageView iv3 = new ImageView(getContext());
iv3.setBackgroundDrawable(g);
iv3.setLayoutParams(lp);
ClipDrawable cd = new ClipDrawable(sd, Gravity.LEFT, ClipDrawable.HORIZONTAL);
ImageView iv2 = new ImageView(getContext());
iv2.setBackgroundDrawable(cd);
iv2.setLayoutParams(lp);
cd.setLevel(5000);
rl.addView(iv);
rl.addView(iv2);
rl.addView(iv3);
a.setContentView(rl);
onCreate();
}
我做了什么错? 有人可以解释吗?
我得到一个NullPointerException ...
这是我的logcat:
03-30 06:58:27.369: E/AndroidRuntime(1534): FATAL EXCEPTION: main
03-30 06:58:27.369: E/AndroidRuntime(1534): java.lang.RuntimeException: Unable to start activity ComponentInfo{eng.pim.app/eng.pim.app.PimActivity}: java.lang.NullPointerException
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.ActivityThread.access$600(ActivityThread.java:123)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.os.Handler.dispatchMessage(Handler.java:99)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.os.Looper.loop(Looper.java:137)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.ActivityThread.main(ActivityThread.java:4424)
03-30 06:58:27.369: E/AndroidRuntime(1534): at java.lang.reflect.Method.invokeNative(Native Method)
03-30 06:58:27.369: E/AndroidRuntime(1534): at java.lang.reflect.Method.invoke(Method.java:511)
03-30 06:58:27.369: E/AndroidRuntime(1534): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-30 06:58:27.369: E/AndroidRuntime(1534): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-30 06:58:27.369: E/AndroidRuntime(1534): at dalvik.system.NativeStart.main(Native Method)
03-30 06:58:27.369: E/AndroidRuntime(1534): Caused by: java.lang.NullPointerException
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.Activity.setContentView(Activity.java:1855)
03-30 06:58:27.369: E/AndroidRuntime(1534): at eng.pim.app.ProgressbarActivity.<init>(ProgressbarActivity.java:77)
03-30 06:58:27.369: E/AndroidRuntime(1534): at eng.pim.app.PimActivity.onCreate(PimActivity.java:24)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.Activity.performCreate(Activity.java:4465)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
03-30 06:58:27.369: E/AndroidRuntime(1534): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
03-30 06:58:27.369: E/AndroidRuntime(1534): ... 11 more
请发布您的logcat。 – Ghost 2012-03-30 06:57:15
好的我会编辑帖子 – user1297720 2012-03-30 06:57:54