あなたは。あなただけのシンプルなInterface
を作成し、tahtを実施し、活動結果を取得し、このようなあなたのクラス.somethingをに送信する主な活動を使用する必要があり、すべてのクラスでstartActivityForResult
を実装する必要はありません。
インタフェース:
public interface IMyClass {
void getResult(int requestCode, int resultCode, Intent data);
}
主な活動:
public class MainActivity extends AppCompatActivity {
static MainActivity mainActivityOBJ;
IMyClass requestedClass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainActivityOBJ=this;
}
public void startActivityForMe(IMyClass c , Intent intent,int requestCode)
{
requestedClass=c;
startActivityForResult(intent,requestCode);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestedClass!=null)
{
requestedClass.getResult(requestCode,resultCode,data);
}
}
}
とあなたのクラス:
public class MyClass implements IMyClass {
@Override
public void getResult(int requestCode, int resultCode, Intent data) {
}
private void StartAC()
{
Intent intent=new Intent(MainActivity.mainActivityOBJ,someActivity.class);
MainActivity.mainActivityOBJ.startActivityForMe(this,intent,1);
}
}
だけでなく、あなたのインターフェイスまたは意向放送 –
は「それは約10回使用されますと、私はコードを繰り返す必要はありません」を取得didntのことも、あなたは常に異なる要求コードを指定し、それらを区別することができます –