java - 如何在已包含菜单项的活动上方隐藏并显示的片段中添加菜单项
问题描述
我想在片段中显示共享和设置图标,该图标从右到左显示动画幻灯片。先前的状态是其中包含某些菜单项的提要的主要活动。我已经隐藏了片段,当用户点击主活动中的菜单项时,动画就会出现。之后,我想将新菜单添加到我坚持使用它的片段中。这是我尝试过的:
帐户碎片
package com.practice.projectbm;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
/**
* A simple {@link Fragment} subclass.
* Use the {@link AccountFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class AccountFragment extends Fragment
{
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
private Toolbar toolbar_profile;
public static AccountFragment newInstance(String param1, String param2) {
AccountFragment fragment = new AccountFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
if (getArguments() != null)
{
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
return inflater.inflate(R.layout.fragment_feed, container, false);
}
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater)
{
inflater.inflate(R.menu.profile_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item)
{
switch (item.getItemId())
{
case R.id.settings:
Toast.makeText(getActivity(), "sdkfg", Toast.LENGTH_SHORT).show();
break;
case R.id.share:
Toast.makeText(getActivity(), "sdkfg", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
}
饲料片段
package com.practice.projectbm;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Feed_Fragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;
public Feed_Fragment() {
}
public static Feed_Fragment newInstance(String param1, String param2) {
Feed_Fragment fragment = new Feed_Fragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_feed, container, false);
}
}
解决方案
推荐阅读
- r - 无法使用 ggplot2 查看完整图表(大小问题)
- android - “RenderFlex 溢出”换行文本抖动
- vba - 通过 MS Access VBA 将选定的 Outlook 电子邮件保存为 .msg 文件
- javascript - 如何通过单击按钮切换类?
- r - 错误:无效输入:date_trans 仅适用于 Date 类的对象 // 不确定如何修复
- sql - 如何将多个单元格合并为一个
- javascript - 范围价格 - 过滤器,除了最初设置的值
- java - 滚动gridView太慢了
- python - 如何从另一个 Pandas 数据框中逐列缩放
- reactjs - 太多重渲染,无限重渲染