Как поместить представление списка в диалоговом окне оповещений, когда я нажимаю баннер?

Я новичок, когда я нажимаю баннер, мне нужен AlertDialog со AlertDialog ListView с 2 вариантами испанский и английский. И когда я нажимаю один, мне нужно зайти на сайт, а также вернуться или отменить диалог.

Если эта помощь, все, что у меня есть (не с ListView)

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 final AdView adView = (AdView) findViewById(R.id.adView);
 adView.loadAd(new AdRequest());

 // Internet Connection detector
 ConnectionDetector cd;

 // Alert Dialog Manager
 AlertDialogManager alert = new AlertDialogManager();

 final ImageView Banner = (ImageView) findViewById(R.id.imageView2);
 Banner.setOnClickListener(new OnClickListener(){




 @Override
 public void onClick(View arg0) {

 // custom dialog
 final Dialog dialog = new Dialog(context);
 dialog.setContentView(R.layout.custom);
 dialog.setTitle("Title...");

 // set the custom dialog components - text, image and button
 TextView text = (TextView) dialog.findViewById(R.id.text);
 text.setText("Android custom dialog example!");
 ImageView image = (ImageView) dialog.findViewById(R.id.image);
 image.setImageResource(R.drawable.ic_launcher);

 Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
 // if button is clicked, close the custom dialog
 dialogButton.setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
 dialog.dismiss();
 }
 });

 dialog.show();
 }
 });
 }
}



 //al apretar click en el banner abre el browser con la pág: las.leagueoflegends.com

 //Intent browserIntent = 
 // new Intent(Intent.ACTION_VIEW, 
 // Uri.parse("http://www.facebook.com"));
 // startActivity(browserIntent);
 }});

PD: я пробовал разные коды от людей, но я получаю разные ошибки. D:

3 ответа

Попробуй это..

Banner.setOnClickListener(new View.OnClickListener(){
 public void onClick(View v) { 

 String[] MenuItems = {"spanish", "english"};
 AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Activity.this);
 // set title
 alertDialogBuilder.setTitle("Select");
 // set dialog message
 alertDialogBuilder
 .setCancelable(true)
 .setSingleChoiceItems(MenuItems, 0, new DialogInterface.OnClickListener() {

 @Override
 public void onClick(DialogInterface dialog1, int pos) {
 // TODO Auto-generated method stub

 if(pos == 0) {
 // Do Your choice
 } else if(pos == 1) {
 // Do Your choice
 }
 dialog1.cancel();
 }
 })
 .setPositiveButton("Cancel",new DialogInterface.OnClickListener() {
 @SuppressLint("NewApi")
 public void onClick(DialogInterface dialog1,int id) {
 dialog1.cancel();
 }
 });

 // create alert dialog
 AlertDialog alertDialog = alertDialogBuilder.create();
 // show it
 alertDialog.show();
 }
 });


Его отлично достигают то, что упоминается Тамиланом и Випулом, но в будущем, если вам нужно улучшить контроль над диалогом предупреждения, чтобы использовать customAlertDialog, просто создайте Layout как обычно; вы делаете это в своей деятельности.

AlertDialog dialog;
public void myDialog(){

AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("Dialog Demo");
LayoutInflater inflater=getLAyoutInflater();
final View dialogView=inflater.inflate(R.layout.cutomdialog,null);
builder.setView(dialogView);
dialog=builder.create();
dialog.show();
}

cutomdialog.xml

<button android:id="+@id/myOkButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="OK"> </button>


final CharSequence[] items = {"Foo", "Bar", "Baz"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Make your selection");
builder.setItems(items, new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int item) {
 // Do something with the selection
 }
});
AlertDialog alert = builder.create();
alert.show();

Источник:

ListView в AlertDialog

licensed under cc by-sa 3.0 with attribution.