在Activitygroup中的getparent()中获取NPE

时间:2013-12-20 08:23:59

标签: android

我是android的新手,这可能是一个简单的问题,但我无法找到它的答案。我在更改底部标签缺失的活动时使用了tabactivity。

我希望整个应用程序都有标签。所以为此,我在所有选项卡中都做了类似的事情(扩展了ActivityGroup):

public void replaceContentView(String id, Intent newIntent) {
    try {
        @SuppressWarnings("deprecation")
        View view = getLocalActivityManager().startActivity(id,
                newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
                .getDecorView();
        this.setContentView(view);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

点击按钮我想要更改视图,并且标签必须存在,所以我做了:

done.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent i = new Intent(v.getContext(), Woosuite_Feed.class);
            Woosuite_Feed feed = (Woosuite_Feed) getParent();//here i'm getting NPE 
            feed.replaceContentView("one", i);

        }
    });

但是在调用父活动时我得到了NPE异常,我搜索了这个,大多数人说它应该是你父母的嵌入子。

我不知道如何制作嵌入式儿童,请有人指导我。

这是我的logcat:

12-20 15:30:16.774: E/AndroidRuntime(4690): FATAL EXCEPTION: main
12-20 15:30:16.774: E/AndroidRuntime(4690): java.lang.NullPointerException
12-20 15:30:16.774: E/AndroidRuntime(4690): at com.example.woosuite.Woosuite_Twiter_Feed_list$1.onClick(Woosuite_Twiter_Feed_list.java:76)
12-20 15:30:16.774: E/AndroidRuntime(4690): at android.view.View.performClick(View.java:4191)
12-20 15:30:16.774: E/AndroidRuntime(4690): at android.view.View$PerformClick.run(View.java:17229)
12-20 15:30:16.774: E/AndroidRuntime(4690): at android.os.Handler.handleCallback(Handler.java:615)
12-20 15:30:16.774: E/AndroidRuntime(4690): at android.os.Handler.dispatchMessage(Handler.java:92)
12-20 15:30:16.774: E/AndroidRuntime(4690): at android.os.Looper.loop(Looper.java:137)
12-20 15:30:16.774: E/AndroidRuntime(4690): at android.app.ActivityThread.main(ActivityThread.java:4960)
12-20 15:30:16.774: E/AndroidRuntime(4690): at java.lang.reflect.Method.invokeNative(Native Method)
12-20 15:30:16.774: E/AndroidRuntime(4690): at java.lang.reflect.Method.invoke(Method.java:511)
12-20 15:30:16.774: E/AndroidRuntime(4690): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
12-20 15:30:16.774: E/AndroidRuntime(4690): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
12-20 15:30:16.774: E/AndroidRuntime(4690): at dalvik.system.NativeStart.main(Native Method)

0 个答案:

没有答案