Android 我的主页导航按钮不断添加注释,而不是添加注释菜单按钮
我制作了一个片段,并将其分为3部分:主页、搜索、收藏夹 这是我的主要活动代码Android 我的主页导航按钮不断添加注释,而不是添加注释菜单按钮,android,Android,我制作了一个片段,并将其分为3部分:主页、搜索、收藏夹 这是我的主要活动代码 public class MainActivity extends AppCompatActivity { BottomNavigationView navigationView; Fragment selected; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate
public class MainActivity extends AppCompatActivity {
BottomNavigationView navigationView;
Fragment selected;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportFragmentManager().beginTransaction().replace(R.id.frameContainer,new Home()).commit();
navigationView=findViewById(R.id.nav);
navigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.navHome:
selected = new Home();
break;
case R.id.navFavorite:
selected = new Fav();
break;
case R.id.navSearch:
selected = new Search();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.frameContainer,selected).commit();
return true;
}
});
}
}
并使我的家庭片段包含一个数组,我将在其中添加和存储我的笔记
最后制作了另一个菜单工具栏,并在顶部对齐,这是我的添加按钮,当我点击它时,它应该会添加一个新的注释,然后我可以根据需要编辑它
现在奇怪的是,每次我点击home按钮,它都会添加一个便笺,而我的add按钮便笺不起作用
这是我的家庭片段代码
public class Home extends Fragment {
static ArrayList<String> notes = new ArrayList<String>();
static ArrayAdapter arrayAdapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View myView = inflater.inflate(R.layout.home, container, false);
return myView;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ListView listView = getActivity().findViewById(R.id.listView);
notes.add("Example note");
arrayAdapter =new ArrayAdapter(getContext(), android.R.layout.simple_list_item_1,notes);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {//edit
@Override
public void onItemClick(AdapterView<?> parent, View view, int i, long id) {
Intent intent=new Intent(getActivity(),NoteEditorActivity.class);
intent.putExtra("noteId",i);
startActivity(intent);
}
});
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.add_note_menu, menu) ;
super.onCreateOptionsMenu(menu,inflater);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
super.onOptionsItemSelected(item);
if(item.getItemId()==R.id.add_note){
Intent intent =new Intent(getActivity(),NoteEditorActivity.class);
startActivity(intent);
}
return false;
}
}
我试图改变selected=newhome()代码>但没有成功,除非我每次转到另一个页面并单击“返回主页”时只添加一个注释,但除此之外,无法解决问题
欢迎提供帮助、建议和提示,并提前表示感谢
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/navHome"
android:icon="@drawable/ic_baseline_home_24"
android:title="Home"
/>
<item
android:id="@+id/navSearch"
android:icon="@drawable/ic_baseline_search_24"
android:title="Search"
/>
<item
android:id="@+id/navFavorite"
android:icon="@drawable/ic_baseline_favorite_24"
android:title="Favorite"
/>
</menu>
这是我的xml文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/add_note"
android:title="Add Note"
/>
</menu>
您正在onViewCreated
中添加注释,每次创建主片段时都会调用该注释
以下是一种将数据从打开的活动返回到片段的方法:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/add_note"
android:title="Add Note"
/>
</menu>