注意:MainActivity的oncreate方法里不要再inflate布局了(MainActivity里的点击事件无响应)

时间:2022-02-10 05:21:14

activity_main已经通过setContentView(R.layout.activity_main);设置给MainActivity,

不要再inflate出新布局,然后findviewbyid,然后得出控件,再对控件进行其他设置,包括设置点击事件等等。

错误做法:

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); View view = UIUtils.inflate(R.layout.activity_main);
Button btn_download = (Button) view.findViewById(R.id.btn_download);
btn_download.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
download();
}
});
}

正确做法:

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button btn_download = (Button) findViewById(R.id.btn_download);
btn_download.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
download();
}
});
}

PS:其实这也不怎么重要,因为在开发中很少有在MainActivity里做操作的这种需求,主要是初学者练习时应该注意的地方。