о CustomDialog - PullRequest
       49

о CustomDialog

0 голосов
/ 26 ноября 2011

Я должен составить список интерактивных элементов.Я написал текст на данный момент.Как мне сделать их кликабельными?Извините, но я только начал программировать в Android.Можете ли вы помочь мне с кодом?

public class CustomDialog extends Dialog 
{
    public CustomDialog(Context context) 
    {
        super(context, android.R.style.Theme_Translucent_NoTitleBar);
    }

    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.privacy_popup);

        TextView text = ((TextView)this.findViewById(R.id.text));
        text.setText(Html.fromHtml("<b>item<b>"));
        //text.setText("Privacy");

        TextView text2 = (TextView) findViewById(R.id.text2);
        text2.setText(Html.fromHtml("<b>item2<b>"));

        TextView text3 = (TextView) findViewById(R.id.text3);
        text3.setText(Html.fromHtml("<b>item3<b>"));

        TextView text4 = (TextView) findViewById(R.id.text4);
        text4.setText(Html.fromHtml("<b>item4<b>"));
    }
}

Ответы [ 3 ]

0 голосов
/ 26 ноября 2011

Если вы вынуждены использовать элементы TextView, вы можете реализовать прослушиватель TextView onClickListener следующим образом:

textView.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO : do something

    }
});
0 голосов
/ 26 ноября 2011

Вам даже не нужно расширять Dialog и создавать собственный диалог; AlertDialog обеспечивает все функции, которые вы ищете. Ниже приведено не что иное, как вставка из темы диалога на веб-сайте разработчика.

final CharSequence[] items = {"Red", "Green", "Blue"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(items, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), 
            items[item], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alert = builder.create();

Это приведет к:

AlertDialog showing list of options

Своп выше builder.setItems(...) для:

builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { ... } );

чтобы добавить переключатель с каждой опцией или:

builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() { ... } );

для флажков.

AlertDialog showing list of single choice options (with radio button)

0 голосов
/ 26 ноября 2011

Ну, во-первых, я бы посоветовал вам использовать DialogFragment , если это возможно, но в любом случае расширение Dialog действительно легко, вы можете проверить Custom Dialog из официального руководства Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...