मैं एक गैर गतिविधि जावा वर्ग से एक संवाद शुरू करने की कोशिश कर रहा हूँ। क्या ऐसा किया जा सकता है अगर ऐसा है तो कैसे?
2 जवाब
आप किसी गतिविधि के बाहर एक संवाद दिखा सकते हैं, लेकिन आपको एक संदर्भ वस्तु के संदर्भ की आवश्यकता होगी।
यह वर्ग कोई गतिविधि नहीं है, लेकिन संवाद बना और दिखा सकता है:
public class DialogExample {
public Context mContext;
public DialogExample(Context context) {
mContext = context;
}
public void dialogExample() {
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setMessage("Dialog created in a separate class!");
builder.show();
}
फिर आप इसे किसी गतिविधि में संदर्भित कर सकते हैं:
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
DialogExample otherClass = new DialogExample(this);
otherClass.dialogExample();
}
यह तब आसान हो सकता है जब आपके पास समान संवाद बनाने के लिए उपयोगिता विधियां हों जिनका उपयोग किसी ऐप में एकाधिक गतिविधियों में किया जाता है।
मुझे लगता है कि यह उपयोगी हो सकता है। आप इसका एक स्थिर संदर्भ बना सकते हैं।
public class AddDecisionActivity extends Activity{
public static AddDecisionActivity addDecAct;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_register_decision);
addDecAct = AddDecisionActivity.this;
}
public static AddDecisionActivity getAddDecAct(){
return addDecAct;
}
}
फिर आप इसका और संदर्भ दे सकते हैं, और अलर्ट संवाद या जो कुछ भी आपको चाहिए उसे बनाने में सक्षम हो सकते हैं।
private void showCloseConfirmationAlert(String message, final String action){
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(***AddDecisionActivity.getAddDecAct()***);
alertBuilder.setTitle(R.string.alert_title);
alertBuilder.setMessage(message);
alertBuilder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alertBuilder.setPositiveButton(R.string.si, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(action.equals("logout")){
Intent cerrarS = new Intent(AddDecisionActivity.getAddDecAct(), LoginActivity.class);
startActivity(cerrarS);
finish();
}
if(action.equals("finish")){
finish();
}
}
});
AlertDialog ad = alertBuilder.create();
ad.show();
}
संबंधित सवाल
नए सवाल
android
एंड्रॉइड Google का मोबाइल ऑपरेटिंग सिस्टम है, जिसका उपयोग प्रोग्रामिंग या डिजिटल डिवाइस (स्मार्टफोन, टैबलेट, ऑटोमोबाइल्स, टीवी, वियर, ग्लास, IoT) को विकसित करने के लिए किया जाता है। एंड्रॉइड से संबंधित विषयों के लिए, एंड्रॉइड-विशिष्ट टैग जैसे कि एंड्रॉइड-इरादे, एंड्रॉइड-गतिविधि, एंड्रॉइड-एडॉप्टर आदि का उपयोग करें। विकास या प्रोग्रामिंग के अलावा अन्य प्रश्नों के लिए, लेकिन एंड्रॉइड फ्रेमवर्क से संबंधित हैं, इस लिंक का उपयोग करें: https: // android.stackexchange.com।