两个this帮忙解释一下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view=inflater.inflate(R.layout.fragment_score,container, false ); final TextView tvScore=(TextView)view.findViewById(R.id.tvScore); tvScore.setText(String.valueOf( this .mscore)); //这个this Log.d(TAG, "onCreateView this: " + this ); final Button btnAdd=view.findViewById(R.id.btnAdd); btnAdd.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { tvScore.setText(String.valueOf(++ScoreFragment. this .mscore)); //和这个this Log.d(TAG, "onClick Button this:" + this ); } }); return view; } |
0
收起
正在回答
3回答
第一个this,指的是ScoreFragment对象实例。第二个也是同样指的ScoreFragment对象实例。但第二个不能直接写成this,是因为它处于
一个内部类中,如果直接写成this就是默认的指这个内部类的对象,这个listener的对象,所以,需要写全。祝:学习愉快
Android数据通信开发与应用2018版
- 参与学习 人
- 提交作业 147 份
- 解答问题 687 个
本专题介绍了Android开发核心组件:广播、服务及全局应用。教会你如何使用AIDL、Thread、Socket、蓝牙解决进程线程间通信问题。利用Glide等实现异步加载及NDK原生代码开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧