安卓開發(fā)之在當(dāng)前Activity獲取視圖View

一般來說,獲取當(dāng)前活動中的某一個視圖還是很方便的,我們在使用onClick函數(shù)的時候經(jīng)常會見到這樣的用法:

@Override
public void onClick(View v) {
      Snackbar.make(v, "真的要刪除全部數(shù)據(jù)嗎?", Snackbar.LENGTH_SHORT)
                        .setAction("是噠!", new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            adapter.deleteAllTips();
                            refreshTips();
                            Toast.makeText(MainActivity.this, "已經(jīng)刪除", Toast.LENGTH_SHORT).show();
                        }
        }).show();
}  

我們注意到,make函數(shù)的第一個參數(shù)是v,這可以是當(dāng)前布局的任意一個View,Snackbar會使用這個View來找到最外層的布局從而展示Snackbar。但是我們有的時候并不是使用onClick函數(shù)來調(diào)用Snackbar。例如我們會在onOptionsItemSelected函數(shù)中使用Snackbar。此時,我們可以借用下列方法獲取View視圖:
getWindow().getDecorView().findViewById(Android.R.id.content)
就上述例子來說,可以修改為這樣:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.delete:
                //TODO 刪除本地數(shù)據(jù)
                Snackbar.make(getWindow().getDecorView().findViewById(R.id.delete), "真的要刪除全部數(shù)據(jù)嗎?", Snackbar.LENGTH_SHORT)
                        .setAction("是噠!", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                adapter.deleteAllTips();
                                refreshTips();
                                Toast.makeText(MainActivity.this, "已經(jīng)刪除", Toast.LENGTH_SHORT).show();
                            }
                        }).show();
                break;
            default:
                //TODO 黑人困惑......
                Toast.makeText(this,"default",Toast.LENGTH_LONG).show();
        }
        return true;
    }

就是這樣啦,蟹蟹大家的閱讀!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容