2009-12-22 9 views
6

मैं एक नौसिखिया एंड्रॉइड डेवलपर हूं। मैं जानना चाहता हूं कि एंड्रॉइड में कस्टम अपवाद सुनने के लिए कोई तरीका मौजूद है या अलर्ट का उपयोग करके अपना टेक्स्ट प्रदर्शित करता है। धन्यवाद।एंड्रॉइड के तहत एक अलर्ट में एक कस्टम अपवाद प्रदर्शित करने का कोई तरीका है?

उत्तर

11

बस वांछित अपवाद पकड़ें, फिर अपवाद की सामग्री वाले एक नया अलर्टडिअलॉग बनाएं।

import android.app.Activity; 
import android.app.AlertDialog; 
import android.os.Bundle; 

public class HelloException extends Activity { 
    public class MyException extends Exception { 
     private static final long serialVersionUID = 467370249776948948L; 
     MyException(String message) { 
      super(message); 
     } 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
     try { 
      doSomething(); 
     } catch (MyException e) { 
      AlertDialog.Builder dialog = new AlertDialog.Builder(this); 
      dialog.setTitle("MyException Occured"); 
      dialog.setMessage(e.getMessage()); 
      dialog.setNeutralButton("Cool", null); 
      dialog.create().show(); 
     } 
    } 

    private void doSomething() throws MyException { 
     throw new MyException("Hello world."); 
    } 
} 
+0

धन्यवाद, यह मेरी समस्या हल हो गया। – dgraziotin

3
बस अन्य उपयोगकर्ताओं के बताने के लिए

पता: है कि आप हर जगह (मॉडल, नियंत्रक आदि) का उपयोग करना चाहते हैं तो आप एक अलग कस्टम अपवाद मिल गया है हैं, और भी अपने विचारों में, कस्टम अपवाद हर जगह प्रचार और एक विधि अपने अपवाद में परिभाषित में ट्रेवर के AlertDialog कोड जोड़ सकते हैं, यह संदर्भ गुजर:

package it.unibz.pomodroid.exceptions; 

import android.app.AlertDialog; 
import android.content.Context; 

public class PomodroidException extends Exception{ 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 

    // Default constructor 
    // initializes custom exception variable to none 
    public PomodroidException() { 
     // call superclass constructor 
     super();    
    } 

    // Custom Exception Constructor 
    public PomodroidException(String message) { 
     // Call super class constructor 
     super(message); 
    } 


    public void alertUser(Context context){ 
     AlertDialog.Builder dialog = new AlertDialog.Builder(context); 
     dialog.setTitle("WARNING"); 
     dialog.setMessage(this.toString()); 
     dialog.setNeutralButton("Ok", null); 
     dialog.create().show(); 
    } 

} 

मेरी स्निपेट में, विधि alertUser (संदर्भ संदर्भ) है। एक गतिविधि में चेतावनी दिखाने के लिए, का उपयोग करें:

try { 
    // ... 
} catch (PomodroidException e) { 
    e.alertUser(this); 
} 

यह अपने शीर्षक और बटन के पाठ की तरह AlertDialog के कुछ भागों को अनुकूलित करने के विधि ओवरलोड बहुत आसान है।

उम्मीद है कि यह किसी की मदद करेगा।

संबंधित मुद्दे

 संबंधित मुद्दे