鍍金池/ 問答/Java  Android/ 如何看某個方法被系統(tǒng)的哪些方法調(diào)用?

如何看某個方法被系統(tǒng)的哪些方法調(diào)用?

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                //提交按鈕的點(diǎn)擊事件
                Toast.makeText(MainActivity.this, query, Toast.LENGTH_SHORT).show();
                return true;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                //當(dāng)輸入框內(nèi)容改變的時候回調(diào)
                Toast.makeText(MainActivity.this, newText, Toast.LENGTH_SHORT).show();
                return true;
            }
});

類似上面,比如說我想看看SearchView.OnQueryTextListener接口的onQueryTextSubmit()方法被系統(tǒng)的哪些方法調(diào)用,有什么方法嗎?可以肯定的是系統(tǒng)肯定傳入String query,那這個字符串是從哪里傳入的?在學(xué)習(xí)中,我常遇到的問題就是系統(tǒng)的這些類有很多這種情況,就是系統(tǒng)傳參的過程是怎么傳的?原理是什么?是系統(tǒng)調(diào)用了這些方法然后傳參還是怎么的?請各位前輩解解惑.

回答
編輯回答
護(hù)她命

打斷點(diǎn),看調(diào)用棧。

2017年7月20日 16:54
編輯回答
筱饞貓

這個是很簡單的觀察者模式,你可以直接在android studio點(diǎn)擊去然搜索這個方法,一般都會有多處調(diào)用,也有可能只有一個。

2018年7月18日 14:57