アプリのすべてのフラグメントで記述したコード ブロックを保存できるかどうかを知りたいです。
フラグメントのコードNro 1
は次のとおりです。
public class Fragment1 extends Fragment {
@InjectView(R.id.txtRP) EditText txtRP;
public static Fragment1 newInstance() {
Fragment1 fragment = new Fragment1();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment1, container, false);
ButterKnife.inject(this, rootView);
return rootView;
}
@OnEditorAction(R.id.txtRP)
boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId == EditorInfo.IME_ACTION_NEXT){
return true;
}
if ((event == null && (actionId == EditorInfo.IME_ACTION_DONE)) || (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)){
if (event == null || event.getAction() == KeyEvent.ACTION_DOWN){
buscaRP();
return true;
}
}
return true;
}
private void buscaRP(){
Toast.makeText(getActivity(), "Button in fragment 1.", Toast.LENGTH_SHORT).show();
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.reset(this);
}
}
ご覧のとおり、EditText は「txtRP」を呼び出し、イベントonEditorAction
では関数「buscaRP()」を呼び出します。
残りの 3 つのフラグメントは同じなので...
onEditorAction
そのコード ブロックを保存し、すべてのフラグメントでイベントを宣言する必要がないようにするにはどうすればよいですか? 別のクラスでイベントを作成し、onEditorAction
そこから呼び出すことはできますか?
前もって感謝します !!!