আমার প্রধান থেকে activity
, আমাকে একটি অভ্যন্তর শ্রেণি কল করতে হবে এবং ক্লাসের মধ্যে একটি পদ্ধতিতে, আমাকে দেখাতে হবে AlertDialog
। এটিকে বরখাস্ত করার পরে, যখন ঠিক আছে বোতামটি টিপছে, ক্রয়ের জন্য গুগল প্লেতে এগিয়ে যান।
বেশিরভাগ সময় জিনিসগুলি পুরোপুরি কাজ করে তবে কয়েকটি ব্যবহারকারীর জন্য এটি ক্রাশ হচ্ছে builder.show()
এবং "android.view.WindowManager$BadTokenException:
ক্র্যাশ লগ থেকে উইন্ডোটি যুক্ত করতে অক্ষম দেখতে পাচ্ছি Please অনুগ্রহ করে পরামর্শ দিন।
আমার কোডটি অনেকটা এরকম:
public class classname1 extends Activity{
public void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.<view>);
//call the <className1> class to execute
}
private class classNamename2 extends AsyncTask<String, Void, String>{
protected String doInBackground(String... params) {}
protected void onPostExecute(String result){
if(page.contains("error"))
{
AlertDialog.Builder builder = new AlertDialog.Builder(classname1.this);
builder.setCancelable(true);
builder.setMessage("");
builder.setInverseBackgroundForced(true);
builder.setNeutralButton("Ok",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
dialog.dismiss();
if(!<condition>)
{
try
{
String pl = "";
mHelper.<flow>(<class>.this, SKU, RC_REQUEST,
<listener>, pl);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
});
builder.show();
}
}
}
}
আমি অন্য সতর্কতায় ত্রুটিটিও দেখেছি যেখানে আমি অন্য কোনওটির কাছে ফরোয়ার্ড করছি না activity
। এটি এর মতো সহজ:
AlertDialog.Builder builder = new AlertDialog.Builder(classname1.this);
builder.setCancelable(true);
//if successful
builder.setMessage(" ");
builder.setInverseBackgroundForced(true);
builder.setNeutralButton("Ok",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
// dialog.dismiss();
}
});
builder.show();
}
//send to some other activity
। আমি মনে করি আপনি যেখানে নতুন ক্রিয়াকলাপে যাচ্ছেন সেই অংশটি যদি আপনি মন্তব্য করেন তবে এই ত্রুটিটি চলে যাবে। ত্রুটিটি মনে হচ্ছে কারণ আপনার ডায়ালগটি পুরোপুরি খারিজ হয়ে যাওয়ার পরে, আপনার নতুন কার্যকলাপ শুরু হয়। এর মধ্যে onPostExecute()
আপনার সতর্কতা সংলাপ রয়েছে এবং আপনি login
ক্রিয়াকলাপের প্রসঙ্গটি দিচ্ছেন । তবে আপনি অন্যান্য ক্রিয়াকলাপে নেভিগেট করছেন, সুতরাং প্রসঙ্গটি ভুল হয়ে যায়। সুতরাং আপনি এই ত্রুটি পাচ্ছেন! একই ধরণের প্রশ্ন stackoverflow.com/questions/15104677/… দেখুন ।