Как добавить фрагмент в плавающую панель действий ⇐ Android
Как добавить фрагмент в плавающую панель действий
Добрый вечер!
Я пытаюсь создать плавающую панель действий, которая вызывает меню с тремя кнопками для выбора опции. У меня возникла проблема с отображением фрагмента на дисплее плавающей панели действий. Log cat сообщает, что не может найти идентификатор. Я попытался добавить getView.findViewById(R.id.name); но и это меня подвело.
Если у вас есть какие-либо материалы, которые могли бы решить эту проблему, или вы знаете ответ, дайте мне знать.
InvestPage.java
публичный класс InvestPage расширяет AppCompatActivity { Кнопка btnAddNew; TextView MarketVale; FloatingActionButton потрясающая; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_investment); сделатьАссоциации(); fab.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { Invest_AddNewInvest.newInstace() .показывать( getSupportFragmentManager(), Invest_AddNewInvest.TAG ); } }); } общественная недействительность makeAssociations(){ fab = findViewById (R.id.invest_fab_addOne); } Invest_AddNewItem.java
публичный класс Invest_AddNewInvest расширяет BottomSheetDialogFragment { Кнопка долга, акции, облигации; //область, чтобы код работал. @Override public void onViewCreated(@NonNull Просмотр, @Nullable Bundle saveBundle){ сделатьАссоциации(); // запускаем фрагмент. долг.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { //начало фрагмента для Транзакция FragmentTransaction = requireActivity(). getSupportFragmentManager().beginTransaction(); транзакция.replace(R.id.invest_fab_fragment, новый Invest_fragmentDebt()); транзакция.addToBackStack(ноль); транзакция.commit(); } }); invest_choicecontrol.xml
// Переполнение стека не позволяет мне сделать табуляцию, чтобы она выглядела красиво.
Logcat
ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.example.appdevproject, PID: 5237. java.lang.IllegalArgumentException: No view found for id 0x7f09024e (com.example.appdevproject:id/invest_fab_fragment) for fragment Invest_fragmentDebt{941cc91} (d2d2e3fc-d909-4215-bac9-4034bb007317 id=0x7f09024e) в androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513) в androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) в androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) в androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) в androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:2002) в androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) в android.os.Handler.handleCallback(Handler.java:751) в android.os.Handler.dispatchMessage(Handler.java:95) в android.os.Looper.loop(Looper.java:154) в android.app.ActivityThread.main(ActivityThread.java:6077) в java.lang.reflect.Method.invoke (собственный метод) по адресу com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Добрый вечер!
Я пытаюсь создать плавающую панель действий, которая вызывает меню с тремя кнопками для выбора опции. У меня возникла проблема с отображением фрагмента на дисплее плавающей панели действий. Log cat сообщает, что не может найти идентификатор. Я попытался добавить getView.findViewById(R.id.name); но и это меня подвело.
Если у вас есть какие-либо материалы, которые могли бы решить эту проблему, или вы знаете ответ, дайте мне знать.
InvestPage.java
публичный класс InvestPage расширяет AppCompatActivity { Кнопка btnAddNew; TextView MarketVale; FloatingActionButton потрясающая; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.activity_investment); сделатьАссоциации(); fab.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { Invest_AddNewInvest.newInstace() .показывать( getSupportFragmentManager(), Invest_AddNewInvest.TAG ); } }); } общественная недействительность makeAssociations(){ fab = findViewById (R.id.invest_fab_addOne); } Invest_AddNewItem.java
публичный класс Invest_AddNewInvest расширяет BottomSheetDialogFragment { Кнопка долга, акции, облигации; //область, чтобы код работал. @Override public void onViewCreated(@NonNull Просмотр, @Nullable Bundle saveBundle){ сделатьАссоциации(); // запускаем фрагмент. долг.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { //начало фрагмента для Транзакция FragmentTransaction = requireActivity(). getSupportFragmentManager().beginTransaction(); транзакция.replace(R.id.invest_fab_fragment, новый Invest_fragmentDebt()); транзакция.addToBackStack(ноль); транзакция.commit(); } }); invest_choicecontrol.xml
// Переполнение стека не позволяет мне сделать табуляцию, чтобы она выглядела красиво.
Logcat
ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основное Процесс: com.example.appdevproject, PID: 5237. java.lang.IllegalArgumentException: No view found for id 0x7f09024e (com.example.appdevproject:id/invest_fab_fragment) for fragment Invest_fragmentDebt{941cc91} (d2d2e3fc-d909-4215-bac9-4034bb007317 id=0x7f09024e) в androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513) в androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) в androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) в androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) в androidx.fragment.app.FragmentManager.execPendingActions (FragmentManager.java:2002) в androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) в android.os.Handler.handleCallback(Handler.java:751) в android.os.Handler.dispatchMessage(Handler.java:95) в android.os.Looper.loop(Looper.java:154) в android.app.ActivityThread.main(ActivityThread.java:6077) в java.lang.reflect.Method.invoke (собственный метод) по адресу com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение