0

我应该列出可点击的项目。我暂时写了文字。如何使它们可点击?抱歉,我刚开始在 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>"));
    }
}
4

3 回答 3

0

好吧,如果可能的话,我建议您使用DialogFragment,但无论如何扩展 Dialog 真的很容易,您可能需要从官方 Android 指南中检查自定义对话框。

于 2011-11-26T00:31:19.567 回答
0

您甚至不必扩展Dialog和创建自定义对话框;anAlertDialog提供您正在寻找的所有功能。下面只是开发者网站上对话框主题的复制粘贴。

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

在上面交换builder.setItems(...)

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

为每个选项添加一个单选按钮,或者:

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

对于复选框。

AlertDialog 显示单选选项列表(带单选按钮)

于 2011-11-26T01:24:20.160 回答
0

如果你被迫使用 TextView 元素,你可以这样实现 TextViewonClickListener监听器:

textView.setOnClickListener(new OnClickListener() {

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

    }
});
于 2011-11-26T00:35:20.570 回答