我已经搜索过互联网,但没有找到好的东西。
所以我试图找到解决这个问题的方法。 我发现了一个,但现在我想问一下,这个太脏的解决方案,无论是否使用,是否危险?
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
public class MyActivity extends Activity implements OnClickListener {
public void onCreate(Bundle b) {
new AlertDialog.Builder(this)
.setTitle("Title1")
.setPositiveBUtton("Ok",this)
.show();
new AlertDialog.Builder(this)
.setTitle("Title2")
.setPositiveButton("Ok",this)
.show();
}
@Override
public void onClick(DialogInterface dialog, int id) {
String dialogTitle = ((AlertDialog)dialog).getActionBar().getTitle().toString();
if(dialogTitle.equals("Title1")) {
switch(id) {
//do smth
}
} else if(dialogTitle.equals("Title2")) {
switch(id) {
//do smth
}
} else {
//no such dialog
}
}
}
答案 0 :(得分:0)
这似乎非常脆弱。我建议只使用多个侦听器,每个对话框一个:
private DialogInterface.OnClickListener mFirstListener = new DialogInterface.OnClickListener() {
@Override
public void onClick (DialogInterface dialog, int which) {
//Handle first dialog
}
};
private DialogInterface.OnClickListener mSecondListener = new DialogInterface.OnClickListener() {
@Override
public void onClick (DialogInterface dialog, int which) {
//Handle second dialog
}
};
然后只为每个对话框分配一个监听器:
new AlertDialog.Builder(this)
.setTitle("First Dialog")
.setPositiveButton("Ok", mFirstListener)
.show();