2012-09-19 169 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(); 

希望这有助于!

相关问题