两个this帮忙解释一下。
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积分~
来为老师/同学的回答评分吧
0 星