จากหลักของฉันฉันต้องการที่จะเรียกระดับชั้นและวิธีการที่อยู่ในระดับที่ฉันต้องแสดงactivity
AlertDialog
หลังจากปิดแล้วเมื่อกดปุ่มตกลงให้ส่งต่อไปยัง Google Play เพื่อซื้อ
สิ่งต่างๆทำงานได้อย่างสมบูรณ์แบบเกือบตลอดเวลา แต่สำหรับผู้ใช้ไม่กี่คนมันขัดข้องbuilder.show()
และฉันเห็น"android.view.WindowManager$BadTokenException:
ไม่สามารถเพิ่มหน้าต่าง "จากบันทึกข้อขัดข้องโปรดแนะนำ
รหัสของฉันค่อนข้างเป็นแบบนี้:
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/…คำถามที่คล้ายกัน