これは可能ですか? I ONATTACH(とフラグメント・アクティビティ・通信の標準的な方法を使用している)と、このような何かを行うことができるかどうか疑問に思って:匿名インタフェースによるアクティビティ通信へのフラグメント
MainActivity.java
// Create Dialog passing in callback
MyDialogFragment dialog = MyDialogFragment.newInstance(param, new MyDialogInterface) {
@Override
public void onSelected(DialogFragment dialog, String result) {
}
@Override
public void onNotSelected(DialogFragment dialog) {
}
}
MyDialogFragment.javaは
// Execute callback
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
myInterface.onNotSelected(MyDialogFragment.this);
}
})
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
myInterface.onSelected(MyDialogFragment.this, "WORKED");
}
});
このようにすれば、ダイアログにコードが追加されるのではなく、ダイアログが表示されるコードでロジックの線形フローを維持できますアクティビティへのods。
はケースだろう気持ちを持っていました。誰かが思いつくような巧妙なハックがあるのだろうかと思っていた。非常に便利だろう! – Ron
@Ron、あなたが "巧妙なハッキング"のためにオープンしているなら、あなたはEventBusに関連する私が使っているアプローチを試してみてください。編集された答えを参照してください。 – Vasiliy