Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从一个活动创建多个指向不同活动的意图会产生nullpointer异常_Android - Fatal编程技术网

Android 从一个活动创建多个指向不同活动的意图会产生nullpointer异常

Android 从一个活动创建多个指向不同活动的意图会产生nullpointer异常,android,Android,我能做那样的事吗 public void onClick(View v) { switch (v.getId()){ case R.id.btn: edit11=edit1.getText().toString(); edit22=edit2.getText().toString(); Intent i=new Intent(this,selection.class);

我能做那样的事吗

public void onClick(View v) {
        switch (v.getId()){
        case R.id.btn:
             edit11=edit1.getText().toString();
             edit22=edit2.getText().toString();
             Intent i=new Intent(this,selection.class);
             i.putExtra("code_value",edit11);
             Intent k=new Intent(this,myservice.class);
             k.putExtra("time_value",edit22);
                     this.startService(k);
             Intent l=new Intent(this,MainActivity.class);

             startActivity(l);  
             break;

     }
     }
在上面的活动中,有两个编辑文本字段和一个按钮,按下该按钮可将“代码值”传递给选择活动,将时间值传递给myservice活动并启动主活动

这样做会在选择活动oncreate中产生nullpointer异常。 我必须提到的是,如果我只使用Intent I并传递其中的2个值,然后是startactivity(I),那么它工作得很好

---------------------更新------------------------------------------

选择类别:

public class selection extends FragmentActivity implements OnMyLocationChangeListener{

    GoogleMap googleMap;
    double latitude=0.0;  
    double longitude=0.0;
    String code_value="";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.selection);


        code_value=getIntent().getExtras().getString("code_value");
         ...//code for google map
      ...
      public void onCheckedChanged(RadioGroup group, int checkedId) {
                if(checkedId == R.id.rb_normal){
                    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
         ....
          else if(checkedId == R.id.save_location){

                 new Thread(new Runnable() {
                     public void run() {

                           postData(Double.toString(latitude),Double.toString(longitude),code_value);
                     }

                 }).start();
        .....
         public void postData(String lat, String lo ,String code) {
        // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
                HttpGet  htget = new HttpGet("www.test.com"+lat+"/"+lo+"/"+code);

    try {
        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(htget);
        String resp = response.getStatusLine().toString();
        Toast.makeText(this, resp, 5000).show();


    } catch (ClientProtocolException e) {
        Toast.makeText(this, "Error", 5000).show();
    } catch (IOException e) {
        Toast.makeText(this, "Error", 5000).show();
    }
日志:

W/dalvikvm(2459): threadid=1: thread exiting with uncaught exception (group=0x2aacc560)
03-28 10:34:35.478: E/AndroidRuntime(2459): Uncaught handler: thread main exiting due to uncaught exception
03-28 10:34:35.498: W/System.err(2459): java.io.IOException: Permission denied
03-28 10:34:35.508: E/AndroidRuntime(2459): FATAL EXCEPTION: main
03-28 10:34:35.508: E/AndroidRuntime(2459): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.datagps/com.example.datagps.selection}: java.lang.NullPointerException
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.os.Looper.loop(Looper.java:130)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.ActivityThread.main(ActivityThread.java:3683)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at java.lang.reflect.Method.invokeNative(Native Method)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at java.lang.reflect.Method.invoke(Method.java:507)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at dalvik.system.NativeStart.main(Native Method)
03-28 10:34:35.508: E/AndroidRuntime(2459): Caused by: java.lang.NullPointerException
03-28 10:34:35.508: E/AndroidRuntime(2459):     at com.example.datagps.selection.<init>(selection.java:87)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at java.lang.Class.newInstanceImpl(Native Method)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at java.lang.Class.newInstance(Class.java:1409)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
03-28 10:34:35.508: E/AndroidRuntime(2459):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
W/dalvikvm(2459):threadid=1:线程以未捕获异常退出(组=0x2aacc560)
03-28 10:34:35.478:E/AndroidRuntime(2459):未捕获处理程序:线程主线程由于未捕获异常而退出
03-28 10:34:35.498:W/System.err(2459):java.io.IOException:权限被拒绝
03-28 10:34:35.508:E/AndroidRuntime(2459):致命异常:main
03-28 10:34:35.508:E/AndroidRuntime(2459):java.lang.RuntimeException:无法实例化活动组件信息{com.example.datagps/com.example.datagps.selection}:java.lang.NullPointerException
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.os.Handler.dispatchMessage(Handler.java:99)上
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.os.Looper.loop(Looper.java:130)上
03-28 10:34:35.508:E/AndroidRuntime(2459):位于android.app.ActivityThread.main(ActivityThread.java:3683)
03-28 10:34:35.508:E/AndroidRuntime(2459):位于java.lang.reflect.Method.Invokenactive(本机方法)
03-28 10:34:35.508:E/AndroidRuntime(2459):位于java.lang.reflect.Method.invoke(Method.java:507)
03-28 10:34:35.508:E/AndroidRuntime(2459):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895)
03-28 10:34:35.508:E/AndroidRuntime(2459):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653)
03-28 10:34:35.508:E/AndroidRuntime(2459):在dalvik.system.NativeStart.main(本机方法)
03-28 10:34:35.508:E/AndroidRuntime(2459):由以下原因引起:java.lang.NullPointerException
03-28 10:34:35.508:E/AndroidRuntime(2459):位于com.example.datagps.selection.(selection.java:87)
03-28 10:34:35.508:E/AndroidRuntime(2459):位于java.lang.Class.newInstanceImpl(本机方法)
03-28 10:34:35.508:E/AndroidRuntime(2459):位于java.lang.Class.newInstance(Class.java:1409)
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.app.Instrumentation.newActivity(Instrumentation.java:1021)上
03-28 10:34:35.508:E/AndroidRuntime(2459):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
我忘了在清单中列出“”。
之后,当我启动应用程序时,它会崩溃,并给出“IntentService中的nullpointer异常”。

您不能在主UI线程中启动
HttpClient
。您必须创建另一个线程/Runnable,在其中运行
httpClient
。除了您的
NullPointerException
(一旦您解决了这个问题),您还将收到一个
android.os.networkMainThreadException

httpClient
移动到
Runnable
以修复部分问题


为了修复
NullPointerException
,我们需要看到LogCat,其中显示了发生该异常的文件和行号。您必须在该行号处发布代码行,因为我们在问题中看不到行号。

好的,问题是我在oncreate之前有代码值字符串。现在移动了它和它的ojk。

请在这里添加选择类的java代码。@Sajmon:Ok,我补充道。Thanks@George:其中是selection.java中的第87行?@prasperK:String code_value=getIntent().getExtras().getString(“code_value”)@prasperK:我在双经度以下有它:好的,我更新了。(我在runnable中有postData)。postData是对的吗?我想在http.ThanksYes上发送3个字符串作为一个字符串。将
postData()。您可能应该在调用
postData()
之前显示一个
ProgressBar
,然后在
postData()
完成时将其取下。请注意,您不能从
postData()
dismise()
进程栏
,因为它不再位于UI线程上。您必须使用
处理程序重定向到UI线程
,以关闭
进度条