【问题标题】:onClick, view not respondingonClick,查看无响应
【发布时间】:2012-04-03 07:44:25
【问题描述】:

我正在尝试使用 onclick 方法。我的班级有..

Public class Homework extends Activity implements View.OnClickListner

我有一个这样的方法:

@Override
Public void onClick(View v){
Log.I(TAG, "Click");
}

但是当我单击 xml 中的视图(具有 click=true )时,它什么也没有出现。

当视图被按下时,它意味着使用普通的点击监听器来记录“点击”,但我不想使用大量的监听器。

【问题讨论】:

  • 您需要运行setOnClickListener(this) 来获取您希望在点击时采取行动的按钮。

标签: java android xml view onclick


【解决方案1】:

您是否将 onClickListener 设置为该视图?

你必须在你的代码中写这个sn-p

View view = findViewById(R.id.your view id);
view.setOnClickListener(this);

【讨论】:

    【解决方案2】:

    在您的 XML 布局中,附加到您的按钮:

    <Button ...
    android:onClick="doClick" <!-- name is arbitrary, but must match activity method name -->
    </Button>
    

    回到你的活动:

    ...
    public void doClick(View v){
        // actions for click response
    }
    

    【讨论】:

      【解决方案3】:

      试试这个:我希望它会起作用

          Public class Homework extends Activity implements View.OnClickListner {
         @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);  // replace main with your layout
              findViewById(R.id.view).setOnClickListener(this); // replace view with your id
      
          }
      
           }
      @Override
      Public void onClick(View v){
      Log.I(TAG, "Click");
      }
      

      【讨论】:

        【解决方案4】:

        你应该转而使用我经常做的最简单的方法,如下所示:

            @Override
            public void onCreate(Bundle savedInstanceState) {
                button1.setOnClickListener(onClickListener);
                    button2.setOnClickListener(onClickListener);
                    button3.setOnClickListener(onClickListener);
            }
        
            private OnClickListener onClickListener = new OnClickListener() {
        
                @Override
                public void onClick(final View v) {
                         switch(v.getId()){
                             case R.id.button1:
                                  //DO something
                             break;
                             case R.id.button2:
                                  //DO something
                             break;
                             case R.id.button3:
                                  //DO something
                             break;
                         }
        
                }
            };
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多