interface
子Fragment側(イベント発生側)
まず、イベントlistener を作る。
private addKeyListener listener = null;
public interface addKeyListener {
void onAddKeyVISIBLE();
void onAddKeyINVISIBLE();
}
listener定義
//MainActivity callingActivity = (MainActivity) getActivity();
listener = (addKeyListener) getActivity();//callingActivity;
イベントが発生したら、listenerに伝える。
listener.onAddKeyVISIBLE();//addkey 表示
親MainActivity側
まず、implementsする。
public class MainActivity extends AppCompatActivity
implements
OyaFragment.addKeyListener {
メソッド作成しろと言われるのでその通りにする。
メソッドにやりたい事を書く。
@Override
public void onAddKeyVISIBLE() {
LinearLayout linearAdd = (LinearLayout)findViewById(R.id.linearAdd);
// linearAdd.setVisibility(View.VISIBLE);
}
@Override
public void onAddKeyINVISIBLE() {
LinearLayout linearAdd = (LinearLayout)findViewById(R.id.linearAdd);
// linearAdd.setVisibility(View.INVISIBLE);
}
以上で完成。
たったこれだけなのに、難しかった!
クリックだけじゃなく、フラグONなど、多様性抜群