作業やコードを複製することなく要素を簡単に再利用できるように、コードを整理しようとしています。
アプリケーションで結果を処理するための 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();