简体   繁体   中英

How to use base activity in fragment?

Here i implemented a emoji-keyboard. For the use of this library , activity extended to EmojiCompatActivity.

prepareKeyboard(EmojiCompatActivity activity, EmojiEditText input

This is working well in activity. While using in fragment i tried this one

prepareKeyboard((ActivityName)getActivity,input)

Here is my MainActivity

public class MainActivity extends EmojiCompatActivity {}

And fregment class is

public class PagerEmojKeyboard extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.emoji_keyboard, container, false);

    EmojiEditText userMessageInput = getActivity().findViewById(R.id.input_message);
    EmojiKeyboardLayout emojiKeyboardLayout=(EmojiKeyboardLayout) v.findViewById(R.id.keyboard_emoj);
    emojiKeyboardLayout.prepareKeyboard((MainActivity) this.getActivity(),userMessageInput);

    return v;
}

}

You can refer to the base activity as this.activity .

Sometimes, while using fragments, the above method also works.

如果您在 onCreateView 方法中工作,您应该不会遇到问题,但是如果您有其他方法,则必须有一个 View 变量作为全局变量,以便在整个类中使用。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM