【问题标题】:what is wrong in this android code? Using Android studio, trying to learn anonymous class这个android代码有什么问题?使用Android studio,尝试学习匿名类
【发布时间】:2015-10-24 12:50:21
【问题描述】:

我对 android 开发非常陌生。尝试学习匿名接口。
以下代码有什么问题?该应用程序只有一个按钮。应用程序运行,但是当我单击按钮时,它什么也不做。即这里它没有写入日志。

public class MainActivity extends AppCompatActivity {

Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d("Main Activity", "On Create");
    setContentView(R.layout.activity_main);
    btn1=(Button)findViewById(R.id.button1);
    btn1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.d("Main Activity","Button Clicked");
        }
    });
}

【问题讨论】:

  • 点赞btn1.setOnClickListener(new View.OnClickListener() {
  • 有什么建议可以解决您的问题吗?不要忘记将一个标记为正确:)

标签: android debugging onclicklistener anonymous


【解决方案1】:

你可以做两件事之一......

1) 确保预先声明正确的OnClickListener...

import android.view.View;

...

btn1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Log.d("Main Activity","Button Clicked");
    }
});

2) 或者确保您没有 import static android.content.DialogInterface.OnClickListener; 它应该是...

import android.view.View.OnClickListener;

...

btn1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        Log.d("Main Activity","Button Clicked");
    }
});

【讨论】:

    【解决方案2】:

    您必须更正代码并使用以下内容:

    btn1 = (Button)findViewById(R.id.button1);
    btn1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Do something in response to button click
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 2021-01-31
      相关资源
      最近更新 更多