Android this與Activity.this的區(qū)別
寫語句的時(shí)候有兩種情況:
Toast.makeText(AlarmActivity.this,"鬧鐘取消", Toast.LENGTH_SHORT); <pre name="code" class="java">Toast.makeText(this,"鬧鐘5秒后啟動(dòng)", Toast.LENGTH_SHORT);
用英文在google搜what‘s difference between this and Activity.this,終于有了結(jié)果(其實(shí)自己后面用了Java里ClassName.this和this 之前搜的是Activity.this,所以沒有結(jié)果,這點(diǎn)自己要靈活的提高自己的搜索能力了)。
在StackOverFlow找到了答案:
http://stackoverflow.com/questions/10102151/whats-the-difference-between-this-and-activity-this
Intent intent = new Intent(this, SecondActivity.class); eclipse error: The method setClass(Context, Class) in the type Intent is not applicable for the arguments (FirstActivity.ClickEvent, Class) Intent intent = new Intent(FirstActivity.this, SecondActivity)
this refers to your current object. In your case you must have implemented the intent in an inner class ClickEvent, and thats what it points to.
Activity.this points to the instance of the Activity you are currently in.
this是你當(dāng)前對象的引用,在你的例子中你肯定在內(nèi)部類ClickEvent里面實(shí)現(xiàn)intent,他指向的是ClickEvent,而不是你要傳入的Activity。
Activity.this指向你所填寫的Activity名字的一個(gè)實(shí)例,也是引用。
其實(shí)這是java的基礎(chǔ),我自己忘了。
this作為當(dāng)前對象,直接用在Activity里面是沒問題的,當(dāng)this在匿名內(nèi)部類中使用,當(dāng)前的對象就變成new的內(nèi)部類,而你傳入的東西如果是整個(gè)Activity的話,就要Activity.this了。
Button b.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(AlarmActivity.this,"鬧鐘5秒后啟動(dòng)", Toast.LENGTH_SHORT); }};
所以在這里面需要指定是哪個(gè)activity的,Toast的那條語句移到外面,刪掉AlarmActivity也行。
所以還是網(wǎng)友建議,全部用成Activity.this,清晰。
以上就是 Android this與Activity.this的區(qū)別的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料謝謝大家對本站的支持!
- Android開發(fā)仿掃一掃實(shí)現(xiàn)拍攝框內(nèi)的照片功能
- Android設(shè)計(jì)模式系列之工廠方法模式
- Android中用RxJava和ViewPager實(shí)現(xiàn)輪播圖
- Android設(shè)計(jì)模式系列之單例模式
- Android設(shè)計(jì)模式系列之組合模式
- Android中的設(shè)計(jì)模式
- Android開發(fā)性能優(yōu)化總結(jié)
- Android 對話框sweet-alert-dialog
- Android string-array數(shù)據(jù)源簡單使用
- Android 解決build path errors的問題
相關(guān)文章
Fragment里添加ListView不要用ListFragment
這篇文章主要介紹了Fragment里添加ListView不要用ListFragment,需要的朋友可以參考下2015-07-07Android控件ViewFlipper仿淘寶頭條垂直滾動(dòng)廣告條
這篇文章主要為大家詳細(xì)介紹了Android控件ViewFlipper仿淘寶頭條垂直滾動(dòng)廣告條,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Android編程之canvas繪制各種圖形(點(diǎn),直線,弧,圓,橢圓,文字,矩形,多邊形,曲線,圓角矩形)
這篇文章主要介紹了Android編程之canvas繪制各種圖形的方法,涉及Android使用Canvas類中常用繪圖方法的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-12-12Android 開機(jī)充電圖標(biāo)和充電動(dòng)畫效果
這篇文章主要介紹了Android 開機(jī)充電圖標(biāo)和充電動(dòng)畫效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12Android實(shí)戰(zhàn)教程第五篇之一鍵鎖屏應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Android實(shí)戰(zhàn)教程第五篇之一鍵鎖屏應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android 判斷是否能真正上網(wǎng)的實(shí)例詳解
這篇文章主要介紹了Android 判斷是否能真正上網(wǎng)的實(shí)例詳解相關(guān)資料,希望通過本文大家能夠掌握判斷是否上網(wǎng)的方法,需要的朋友可以參考下2017-10-10Android實(shí)現(xiàn)幀動(dòng)畫的兩種方式
幀動(dòng)畫(Frame?Animation)是一種在一定時(shí)間內(nèi)按順序播放一系列圖像幀(每一幀都是一個(gè)單獨(dú)的圖像),從而產(chǎn)生連續(xù)運(yùn)動(dòng)或變化的動(dòng)畫效果,本文給大家介紹了Android實(shí)現(xiàn)幀動(dòng)畫的兩種方式,需要的朋友可以參考下2024-02-02android中Intent傳值與Bundle傳值的區(qū)別詳解
本篇文章是對android中Intent傳值與Bundle傳值的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Android編程布局控件之AbsoluteLayout用法實(shí)例分析
這篇文章主要介紹了Android編程布局控件之AbsoluteLayout用法,結(jié)合實(shí)例形式簡單分析了Android絕對布局AbsoluteLayout的使用技巧,需要的朋友可以參考下2015-12-12