activity_main已经通过setContentView(R.layout.activity_main);设置给MainActivity,
不要再inflate出新布局,然后findviewbyid,然后得出控件,再对控件进行其他设置,包括设置点击事件等等。
错误做法:
1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.activity_main); 5 6 View view = UIUtils.inflate(R.layout.activity_main); 7 Button btn_download = (Button) view.findViewById(R.id.btn_download); 8 btn_download.setOnClickListener(new OnClickListener() { 9 10 @Override 11 public void onClick(View v) { 12 download(); 13 } 14 }); 15 }
正确做法:
1 @Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.activity_main); 5 6 Button btn_download = (Button) findViewById(R.id.btn_download); 7 btn_download.setOnClickListener(new OnClickListener() { 8 9 @Override 10 public void onClick(View v) { 11 download(); 12 } 13 }); 14 }
PS:其实这也不怎么重要,因为在开发中很少有在MainActivity里做操作的这种需求,主要是初学者练习时应该注意的地方。