2012-09-19 170 views
-3

我有一個class它不延伸Activity。而在那堂課裏,我用try-catch塊來抓exceptions。我怎麼能通過該塊中捕獲的任何異常(Exception e)到另一個Activity?我的應用程序使用boolean flag進行檢查以顯示toast message。但是,我如何將此消息傳遞給其他活動?如何將異常傳遞給其他活動?

public class AgAppHelperMethods { 

    private static AgAppHelperMethods instance = null; 
    static boolean flag=true; 

public static String[][] AgAppXMLParser(String parUrl) { 



    String _node,_element; 
    String[][] xmlRespone = null; 
    try { 
    String url = www.xyz.com 
      URL finalUrl = new URL(url); 


    catch (Exception e) 
    { 
     flag=false; 
     Log.e("CONNECTION ERROR SERVER NOT RESPONDING", e); 
    } 


      public class LoginScreen extends Activity implements Serializable { 


public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 

    setContentView(R.layout.agapplogin); 


     btnClear.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) 

     { 
      postLoginData(); 
     } 

    }); 


      public void postLoginData() 

{ 
       xmlRespone = AgAppHelperMethods.AgAppXMLParser(url); 

     if(!AgAppHelperMethods.flag) 
     { 
      Toast.makeText(getApplicationContext(), "Error server 
    not responding " , Toast.LENGTH_SHORT).show(); 
      myProgressDialog.dismiss(); 
     } 

回答

1
catch (Exception e) {   
    flag=false; 
    Log.e("CONNECTION ERROR SERVER NOT RESPONDING", e); 

    String theException = e.getMessage(); 

    Bundle b = new Bundle();   
    b.putString("Exception", theException); //or you can replace theException with a custom message 

    Intent nextActivity = new Intent(MyActivity.this, NewActivity.class); 
    nextActivity.putExtras(b); 
    startActivity(nextActivity); 
    } 

,你可以得到它在你的旁邊的onCreate方法活動

Bundle b = getIntent().getExtras(); 
    String error = b.getString("Exception"); 
    Toast.makeText(NewActivity.this, error, Toast.LENGTH_SHORT).show(); 

希望這有助於!

相關問題