以下代码将使View可点击,但我想知道这是否是使自定义视图可点击的正确方法?
代码:
public class NodePickup extends LinearLayout
{
public NodePickup(Context context, AttributeSet attributeSet)
{
super(context, attributeSet);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.nodepickup, this);
this.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setMessage("Ajabaja!")
.setCancelable(true)
.setPositiveButton("JA!", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
builder.show();
}
});
}
}
答案 0 :(得分:1)
onClick()
中的代码只是创建对话框 - 没有什么会导致它显示在屏幕上。要使其发挥作用,请在点击处理程序中调用showDialog(int)
并在您的活动中实施onCreateDialog(int)
。
查看Android文档的Creating Dialogs部分以获取更多信息。
答案 1 :(得分:0)
调用setOnClickListener()是使视图可单击的适当方法。