我是Android开发的新手。 有人可以解释一下如何在该类中添加操作按钮吗?
public class HomeFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
HomeViewModel homeViewModel = ViewModelProviders.of(this).get(HomeViewModel.class);
View root = inflater.inflate(R.layout.fragment_home, container, false);
final TextView textView = root.findViewById(R.id.text_home);
homeViewModel.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
return root;
}
和xml文件
<TextView
android:id="@+id/text_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
答案 0 :(得分:0)
在您的活动中覆盖此方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu);
return true;
}
为此,您必须在菜单文件夹中创建一个名为“ home”的菜单(如果看不到菜单文件夹,请在res内部创建一个菜单)
答案 1 :(得分:0)
如果要在工具栏上添加操作按钮,则必须:
在菜单文件夹中创建菜单和相关项目:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_add"
android:icon="@android:drawable/ic_menu_add"
android:title="Add"
app:showAsAction="ifRoom|collapseActionView"/>
</menu>
注意:在此示例中,我添加了一个按钮以添加元素;
您必须在MainActivity类中添加菜单:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
getMenuInflater().inflate(R.menu.add_menu, menu);
return true;
}
然后您可以在按钮上添加操作
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==R.id.action_add){
//Do something
}
return super.onOptionsItemSelected(item);
}
我希望这会对您有所帮助!
答案 2 :(得分:0)
如果您要自定义操作栏的用户界面,则可以将工具栏用作操作栏。这是执行相同操作的步骤:
//创建一个操作栏按钮
@Override CreateOptionsMenu(菜单菜单)上的公共布尔值{
// R.menu.mymenu是对名为mymenu.xml的xml文件的引用,该文件应位于res / menu目录中。
//如果没有res / menu,只需在res内部创建一个名为“ menu”的目录
getMenuInflater().inflate(R.menu.mymenu, menu);
return super.onCreateOptionsMenu(menu);
}
答案 3 :(得分:0)
以这种方式实现mymenu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/mybutton"
android:title="Add"
app:showAsAction="always"
android:icon="@drawable/mybuttonicon"
/>
</menu>
答案 4 :(得分:0)
一旦你想添加 onCreateOptionsMenu,你应该按 CTRL + O 打开对话框窗口,然后输入 onCreateOptionsMenu 并选择它。
让 Android Studio 在相关且必要的地方创建代码。 (来源:https://www.youtube.com/watch?v=oh4YOj9VkVE)
因此,您可能会在错误的括号上编写真正的代码。