可点击的视图/ onclick:正确的方法使View可点击?

时间:2010-01-05 21:05:59

标签: android

以下代码将使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();
   }
  });
 }
}

2 个答案:

答案 0 :(得分:1)

onClick()中的代码只是创建对话框 - 没有什么会导致它显示在屏幕上。要使其发挥作用,请在点击处理程序中调用showDialog(int)并在您的活动中实施onCreateDialog(int)

查看Android文档的Creating Dialogs部分以获取更多信息。

答案 1 :(得分:0)

调用setOnClickListener()是使视图可单击的适当方法。