按照参考教程给的代码但是还是报错了

解决方案 »

  1.   

    没有导包,OnClickListener还是红的
      

  2.   

    仔细看下你的和我的不一样的地方: 像我这样写:
    第一种方式: public class TempActivity extends AppCompatActivity {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.temp_demo);
            Button bt = findViewById(R.id.bt_temp);
            bt.setOnClickListener(listener);    }
        private View.OnClickListener listener = new View.OnClickListener(){        @Override
            public void onClick(View view) {
                Toast.makeText(TempActivity.this,"you have clicked a button",Toast.LENGTH_SHORT).show();
            }
        };
    }
    第二种方式: 
    public class TempActivity extends AppCompatActivity implements View.OnClickListener {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.temp_demo);
            Button bt = findViewById(R.id.bt_temp);
            bt.setOnClickListener(this);    }    @Override
        public void onClick(View view) {
            Toast.makeText(this, "you have clicked a button", Toast.LENGTH_SHORT).show();
        }
    }
    思考下: 1. Java的继承 ;  2. 理解下Android里面的 Context.
      

  3.   

    看下这个,比较全。
    https://www.cnblogs.com/guwei4037/p/5639462.html
      

  4.   

    alt+enter
    mac一样的或者在写的时候 就会有下划线提示呀实在不行
    你写匿名类,把下面那一串替换掉this