您的位置:首页 > 移动开发 > Android开发

android与java浅谈this与activity.this

2017-06-28 10:30 225 查看
由于的java是草草的的过了一遍那样学的 所以对很多概念已经是不太清楚了,这两天开始看android 然后就发现很多东西有点看着懵逼 ,我是打算通过安卓去巩固的java的

然后我看到了在活动中使用toast这里 首先在此之前我的已经手动的写了一个button的,那么我希望说单击button控件就能够通过toast推送一些消息 这让我回忆起了初中的时候看的vb

废话不多说 先放上那部分的代码 我给个别部分加了点注释

public class FirstActivity extends AppCompatActivity {
/*FirstActivity继承了AppCompatActivity(之前我在想那么多的activity,为什么我创建一个他就是一个类,不该是一个对象吗 我现在刚刚开始看 也不能评判些什么 以后会回来补坑的)*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//必须有的
setContentView(R.layout.first_layout);//引入布局文件
//button控件
Button button1 = (Button) findViewById(R.id.button_1);//findViewById()方法返回的是一个View类型的对象 通过转型给button 然后就是R.id.button在之前在layout.xml文件里面添加过的
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Toast.makeText(FirstActivity.this,"you clicked button1",
Toast.LENGTH_SHORT).show();
}
});/*关键是这句话
button1对象调用了一个setOnClick()方法,然后参数是后面的一个匿名内部类 匿名内部类重写了onClick()方法*/
}


在这里有一个值得注意的是activity.this,我以前从来没有用过这种用法所以我通过搜索了一下

StackOverFlow上的答案

然后分析了下我这里的代码这里的话因为有一个OnclickListener的内部类,this肯定针对的是new出来的这个对象,但是我们要的是Activity这个类的对象本身,这个是匿名内部类有的用法,但是我没什么印象了

然后就是这里参数对象是一个匿名内部类,看的有点懵逼,而且没有引用,不过仔细想想,但也好理解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android java
相关文章推荐