我正在嘗試整理我的代碼,以便可以輕鬆地重複使用元素而不必重複工作/代碼。將StartActivityforResult移動到外部類
我有一個contactpicker和代碼來處理我的應用程序中的結果,我想將它放到它自己的外部類中,以便我可以在多個區域重複使用它。
我被困在一個問題上 - 爲了調用StartActivityforResult,我需要將活動傳遞給外部類 - 但是我不知道該怎麼做?
這裏是我使用的外部聯繫人挑選器類:
public class ContactFinder {
private static final int CONTACT_PICKER_RESULT = 1001;
private Activity atv;
public ContactFinder(Activity atv) {
this.atv=atv;
}
public void startContactPicker()
{
Intent contactPickerIntent=new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
//Shows CONTACT_PICKER_RESULT cannot be resolved to a variable
atv.startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
}
}
,所以我怎麼會使用以下調用它從我的主要活動:
ContactFinder cf=new ContactFinder(???));// how do I pass the activity to this external class
cf.startContactPicker();
我實際執行相同的外部類中的結果,然後創建了一個getter將數據引入當前活動。我明白你爲什麼也能工作。非常感謝您的幫助 :) –