2016-05-14 46 views
-1

我想要做的是在onResume中獲得getIntent();。所有的事情在發生MainActivity僅onResume不能與線程計時器

這裏是我的代碼,但它不工作沒有什麼工作

@Override 
protected void onResume() { 
    Thread timer = new Thread() { 
     public void run() { 
      try { 
       sleep(3000); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } finally { 
       Intent intent = getIntent(); 
       String restaurant_name = intent.getStringExtra("restaurant_name"); 
       Toast.makeText(MainActivity.this, restaurant_name, Toast.LENGTH_LONG).show(); 
       if (restaurant_name != null) { 
        if (restaurant_name.equals("Romys")) { 
         mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(26.89209, 75.82759), 15.0f)); 
         mMap.addMarker(new MarkerOptions() 
           .position(new LatLng(26.89553, 75.82842)) 
           .title("ROMYS")) 
           .showInfoWindow(); 


        } 
       } else { 
        Toast.makeText(MainActivity.this, "It was not", Toast.LENGTH_LONG).show(); 
       } 
      } 
     } 
    }; 
    timer.start(); 

    super.onResume(); 
} 

我試圖onResumeonNewInent但應用程序崩潰。

+0

你能後,您在logcat中得到什麼錯誤? –

+0

@ noidea3p5先生我也沒有得到任何錯誤..它不是晚上顯示一個烤麪包也 – user3692487

+0

實際上我在做什麼是我從我的ListView類發送意圖..而且我顯示AlertBox中的所有日期其所有在MainActivity所以點擊持有人警告框後消失,並再次mainActivity啓動,所以我想要得到的意圖,並運行我的map.animateCamera – user3692487

回答

0

不知道這是否是所有,但您正在嘗試在非主UI線程的線程上執行Toast。所以,試圖取代你的祝酒詞,如:

Toast.makeText(MainActivity.this, restaurant_name, Toast.LENGTH_LONG).show(); 

與代碼的主UI線程上運行它:

MainActivity.this.runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      Toast.makeText(MainActivity.this, restaurant_name, Toast.LENGTH_LONG).show(); 
     } 
    }); 
+0

謝謝你,他的工作 – user3692487

+0

我很高興我可以幫助:) –