2014-01-28 71 views
0

我正在努力獲得一個處理程序顯示一個吐司messgae,其中還包含從msg.obj提取的變量。它不給我任何錯誤,但吐司消息不顯示。這裏是代碼問題與處理程序內的Toast

Handler nok=new Handler() { 

    public void handleMessage(Message msg) 


    { 



Location locator=(Location)msg.obj; 
float lat=(float)(locator.getLatitude()); 
Toast.makeText(m,"the latitude is+lat,Toast.LENGTH_LONG).show(); 


} 

我也嘗試添加

runOnUiThread(new Runnable() 

{ 

public void run(){ 


Toast.makeText(m,"the latitude is" +lat,Toast.LENGTH_LONG).show(); 

} 

但在這種情況下,變量LAT沒有處理程序外的認可,任何想法?

整個類是

public class MainActivity extends Activity { 

public static final String content="Asega kvo stava"; 
public static final Integer kom=2; 
Context m; 
Looper lupy; 
Handler ok; 
Handler nok=new Handler() { 

    public void handleMessage(Message msg) 


    { 
     System.out.println("Check"); 


     Location locator=(Location)msg.obj; 
      float lat=(float)(locator.getLatitude()); 
Toast.makeText(MainActivity.this,"the latitude is"+" "+lat,Toast.LENGTH_LONG).show(); 
     } 

    }; 

和類張貼訊息話題:

public class locac implements LocationListener { 

public Context Ctx; 
Handler nok; 
public static String okai="Ctx.LOCATION_SERVICE"; 
public static String moi="manag.GPS_PROVIDER"; 


    Location loc; 

public locac (Context context,Handler handler) 


{ 


    this.nok=handler; 

    this.Ctx=context; 

} 



public void getLoc (Location Loc) 

{ 
    if(loc!=null) 

    { 
     LocationManager manag; 

     manag=(LocationManager)Ctx.getSystemService(okai); 

     Message kol=new Message(); 
     kol.obj=loc; 
     nok.sendMessage(kol); 
    } 


} 
+0

什麼是變量'm'? – Ogen

+0

我沒有看到任何東西被稱爲,它只是所有的方法。 – Ogen

回答

0
Handler nok=new Handler() { 

    public void handleMessage(Message msg) 


    { 



Location locator=(Location)msg.obj; 
float lat=(float)(locator.getLatitude()); 
Toast.makeText(getApplicationContext(), "the latitude is" + " " +lat, Toast.LENGTH_LONG).show(); 


} 

嘗試使用。

+0

嘗試過,stil沒有顯示... – user2557930

+0

在'handleMessage'方法內放置'System.out.println(「Check」);'語句以確保它實際上正在運行。 – Ogen

+0

好,好點,出於某種原因,它看起來像HandleMessage根本沒有被調用 – user2557930

0

你確定m被設置爲你的Activity的上下文嗎?你確定你正在發送消息並且handleMessage()被調用嗎?

+0

是的,我也與MainActivity.this一起嘗試,關於如何調用消息我發佈了另一個問題,你可以在代碼中看到調用類 - http://stackoverflow.com/questions/ 21416264 /傳球-位置與處理程序從 - 不同級 – user2557930