2016-12-22 3 views
0

Как я могу настроить веб-страницу при проверке одного из этих трех элементов? Я полагаю, что он должен иметь идентификатор, а затем каким-то образом сделать, если утверждение определено, какой из них выбран. Но как и где это можно реализовать? Некоторые идеи? :)Как запустить веб-страницу с помощью Intent с AlertDialog [Android]?

public class MainActivity extends Activity { 

CharSequence[] items = {"First web site", "Second web site", "Third web site"}; 

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

public void dialog(View v){ 
    showDialog(0); 
} 

public void dialog1(View v){ 
    Toast.makeText(getBaseContext(), "No function.", Toast.LENGTH_LONG).show(); 
} 

public void dialog2(View v){ 
    Toast.makeText(getBaseContext(), "No function.", Toast.LENGTH_LONG).show(); 
} 

protected Dialog onCreateDialog(int id) { 
    switch (id) { 
     case 0: 
      return new AlertDialog.Builder(this) 

        .setIcon(R.mipmap.ic_launcher) 
        .setTitle("Dialog with some text...") 
        .setSingleChoiceItems(items, 0, null) 
        .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialogInterface, int i) { 
          Toast.makeText(getBaseContext(), "OK pressed!", Toast.LENGTH_SHORT).show(); 
         } 
        }) 
        .setNegativeButton("Cancel", new  DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialogInterface, int i) { 
          Toast.makeText(getBaseContext(), "Cancel pressed!", Toast.LENGTH_SHORT).show(); 
         } 
        }).create(); 
       } 
     return null; 
    } 

} 
+1

Что ваш вопрос? Вы хотите запустить веб-страницу, используя намерение, когда какой-либо из этих элементов проверен? – OBX

+0

Да. Когда ОК нажата, необходимо запустить проверенную веб-страницу. – Beansolder

ответ

1

Я думаю, что это то, что вы ищете

final CharSequence[] items = {"web1", "web2", "web3"}; 

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

    builder.setTitle("Title"); 
    builder.setSingleChoiceItems(items,0,null); 
    builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int position) { 
      ListView lw = ((AlertDialog)dialog).getListView(); 
      Object checkedItem = lw.getAdapter().getItem(lw.getCheckedItemPosition()); 
      Toast.makeText(getApplicationContext(), 
        ((String) checkedItem) 
        ,Toast.LENGTH_SHORT).show(); 
     } 
    }); 

    builder.show(); 

`

+0

Спасибо. Это код, который я искал! – Beansolder

1

Вы можете запустить веб-страницу с помощью Intent с помощью этого метода:

private void launchWebPage(String url) 
{ 
    Intent i = new Intent(Intent.ACTION_VIEW); 
    i.setData(Uri.parse(url)); 
    startActivity(i); 
} 

И этот метод вызывается из onClickListener() любого Button с соответствующим URL.

+0

Хорошо, я реализовал это, но как я могу вызвать onClickListener() в AlertDialog, так как я использую AlertDialog? Кнопки легко вызвать, но есть список в AlertDialog с тремя разными именами веб-страниц. Как их можно вызвать при нажатии OK? Та часть, которую я не понимаю. – Beansolder