2014-09-16 5 views
0

Я использовал андроид alertdialog для того, чтобы перенаправлять на URL, перенаправление должны идти по выбору пользователя, вот код:alertdialog перенаправления URL-адрес

final CharSequence[]stringArray = {"1" ,"2" , "3"}; 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Press selected name"); 
    builder.setItems(stringArray, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int item) { 
      String st = "https://www.youtube.com/watch?v=x9QyKNQ0uVc"; 
      String st2 = "https://www.youtube.com/"; 
      if (stringArray.toString().equals("1")) { 
       Intent intent = new Intent(Intent.ACTION_VIEW, 
         Uri.parse(st)); 
        startActivity(intent); 
      } 
      else if (stringArray.toString().contains("2")) {     

        Intent intent = new Intent(Intent.ACTION_VIEW, 
          Uri.parse(st2)); 
         startActivity(intent);     
            } 
     } 
    }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 

, но когда я нажимаю 1 или 2 есть нет перенаправления на url что не так с кодом?

+0

Вы пытались отладить и проверить? – GrIsHu

+0

Проверьте мой ответ. – GrIsHu

ответ

0

Вы проверяете элементы массивов, которые недействительны для реализации. Вам нужно проверить идентификатор выбранного элемента, который вы можете получить только из метода onclick.

Поскольку количество массивов начинается с «0», вы можете проверить выбранный вами элемент с помощью «0 до 2», где ваш 0 будет выбран как «1» и так далее.

Заканчивать ниже код:

final CharSequence[] stringArray = { "1", "2", "3" }; 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("Press selected name"); 
    builder.setItems(stringArray, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int item) { 
      String st = "https://www.youtube.com/watch?v=x9QyKNQ0uVc"; 
      String st2 = "https://www.youtube.com/"; 
      if (item == 0) 
      // if (stringArray.toString().equals("1")) 
      { 
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri 
         .parse(st)); 
       startActivity(intent); 
      } else if (item == 1) 
      // else if (stringArray.toString().contains("2")) 
      { 

       Intent intent = new Intent(Intent.ACTION_VIEW, Uri 
         .parse(st2)); 
       startActivity(intent); 
      } 
     } 
    }); 
    AlertDialog alert = builder.create(); 
    alert.show(); 
0

Пожалуйста, используйте следующий код: -

final CharSequence[] stringArray = { "1", "2", "3" }; 

AlertDialog.Builder builder = new AlertDialog.Builder(this); 

builder.setTitle("Press selected name"); 

builder.setItems(stringArray, new DialogInterface.OnClickListener() { 

public void onClick(DialogInterface dialog, int position) { 

String st = "https://www.youtube.com/watch?v=x9QyKNQ0uVc"; 

String st2 = "https://www.youtube.com/"; 

if (position == 0) { 

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(st)); 

startActivity(intent); 

} 

else if (position == 1) { 

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(st2)); 

startActivity(intent); 

} 

else if (position == 2) { 

// write some code 

} 

} 

}); 

AlertDialog alert = builder.create(); 

alert.show(); 
Смежные вопросы