Android 正在尝试将URL从EditText传递到片段
我试图将字符串值“url”传递给片段,以便在web视图中显示它。我不断得到以下错误: java.lang.NullPointerException 这是我的代码:Android 正在尝试将URL从EditText传递到片段,android,webview,fragment,Android,Webview,Fragment,我试图将字符串值“url”传递给片段,以便在web视图中显示它。我不断得到以下错误: java.lang.NullPointerException 这是我的代码: protected void goToTab1View() { if(mTabState != TAB1_STATE){ mTabState = TAB1_STATE; Toast.makeText(getActivity(), "goToTabView1: " + url, Toast.LEN
protected void goToTab1View() {
if(mTabState != TAB1_STATE){
mTabState = TAB1_STATE;
Toast.makeText(getActivity(), "goToTabView1: " + url, Toast.LENGTH_SHORT).show();
FragmentManager fm = getFragmentManager();
if(fm!= null){
//Perform fragment transaction
FragmentTransaction ft = fm.beginTransaction();
FragTab1 f = new FragTab1();
f.setString(url);
ft.replace(R.id.fragment_content, f);
ft.commit();
}
}
}
我想我没有正确连接碎片??我只是一个新的片段,所以我道歉,如果问题是显而易见的。任何帮助都将不胜感激
堆栈跟踪:
01-11 13:16:06.671: E/AndroidRuntime(23045): FATAL EXCEPTION: main
01-11 13:16:06.671: E/AndroidRuntime(23045): java.lang.NullPointerException
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.widget.Toast.<init>(Toast.java:92)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.widget.Toast.makeText(Toast.java:238)
01-11 13:16:06.671: E/AndroidRuntime(23045): at com.example.tabdemo.FragTab1.setString(FragTab1.java:57)
01-11 13:16:06.671: E/AndroidRuntime(23045): at com.example.tabdemo.TabFragment.goToTab1View(TabFragment.java:60)
01-11 13:16:06.671: E/AndroidRuntime(23045): at com.example.tabdemo.MainActivity$1.onClick(MainActivity.java:34)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.view.View.performClick(View.java:4202)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.view.View$PerformClick.run(View.java:17340)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.os.Handler.handleCallback(Handler.java:725)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.os.Handler.dispatchMessage(Handler.java:92)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.os.Looper.loop(Looper.java:137)
01-11 13:16:06.671: E/AndroidRuntime(23045): at android.app.ActivityThread.main(ActivityThread.java:5039)
01-11 13:16:06.671: E/AndroidRuntime(23045): at java.lang.reflect.Method.invokeNative(Native Method)
01-11 13:16:06.671: E/AndroidRuntime(23045): at java.lang.reflect.Method.invoke(Method.java:511)
01-11 13:16:06.671: E/AndroidRuntime(23045): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-11 13:16:06.671: E/AndroidRuntime(23045): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-11 13:16:06.671: E/AndroidRuntime(23045): at dalvik.system.NativeStart.main(Native Method)
01-11 13:16:06.671:E/AndroidRuntime(23045):致命异常:主
01-11 13:16:06.671:E/AndroidRuntime(23045):java.lang.NullPointerException
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.widget.Toast(Toast.java:92)
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.widget.Toast.makeText(Toast.java:238)上
01-11 13:16:06.671:E/AndroidRuntime(23045):位于com.example.tabdemo.FragTab1.setString(FragTab1.java:57)
01-11 13:16:06.671:E/AndroidRuntime(23045):在com.example.tabdemo.TabFragment.goToTab1View(TabFragment.java:60)
01-11 13:16:06.671:E/AndroidRuntime(23045):在com.example.tabdemo.MainActivity$1.onClick(MainActivity.java:34)
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.view.view.performClick(view.java:4202)上
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.view.view$PerformClick.run(view.java:17340)
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.os.Handler.handleCallback(Handler.java:725)上
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.os.Handler.dispatchMessage(Handler.java:92)上
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.os.Looper.loop(Looper.java:137)
01-11 13:16:06.671:E/AndroidRuntime(23045):在android.app.ActivityThread.main(ActivityThread.java:5039)上
01-11 13:16:06.671:E/AndroidRuntime(23045):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-11 13:16:06.671:E/AndroidRuntime(23045):位于java.lang.reflect.Method.invoke(Method.java:511)
01-11 13:16:06.671:E/AndroidRuntime(23045):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-11 13:16:06.671:E/AndroidRuntime(23045):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-11 13:16:06.671:E/AndroidRuntime(23045):在dalvik.system.NativeStart.main(本机方法)
看起来您正在FragTab1
片段的setString()
中显示Toast。这就是为什么您要面对NullPointerException
移除FragTab1
的setString()
内的Toast Display,然后运行该应用程序,它将为您工作
除非FragTab1附加到片段容器,否则在通过如下设置字符串替换FragTab1片段之前,您不会获得正在访问的getActivity()
f.setString(url);
这将调用FragTab1的setString(),其中显示的Toast将导致NullPointerException,因为它无法获取上下文。您应该指定导致nullpointer的行和变量。这是迄今为止您通过调试最容易发现的。@nandeesh我从堆栈跟踪中发布了错误消息。@Javacadabra接受答案,以便对其他人有所帮助。我会的,但我必须等待5分钟。