我应该列一个可点击的项目列表。我现在写的是文字。如何使它们可点击?对不起,我刚开始用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>"));
}
}发布于 2011-11-26 08:31:20
如果可能的话,我建议你使用DialogFragment,但无论如何,扩展对话框真的很容易,你可能想从官方的安卓指南中检查一下Custom Dialog。
发布于 2011-11-26 08:35:21
如果您被迫使用TextView元素,则可以按如下方式实现TextView onClickListener侦听器:
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO : do something
}
});发布于 2011-11-26 09:24:20
您甚至不需要扩展Dialog和创建自定义对话框;AlertDialog提供了您正在寻找的所有功能。下面只不过是开发者网站上Dialog topic的一个复制粘贴。
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();这将导致:

将builder.setItems(...)上的内容替换为:
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { ... } );要为每个选项添加一个单选按钮,或者:
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() { ... } );用于复选框。

https://stackoverflow.com/questions/8275323
复制相似问题