Java 搜索图标未显示在操作栏中
我已经在操作栏上有搜索图标,在另一个活动中有相同的代码,但在另一个活动中没有显示以下代码。我在谷歌上搜索了很多关于它的信息,但没有得到任何解决方案 不显示图标的labour_list.classJava 搜索图标未显示在操作栏中,java,android,xml,menuitem,Java,Android,Xml,Menuitem,我已经在操作栏上有搜索图标,在另一个活动中有相同的代码,但在另一个活动中没有显示以下代码。我在谷歌上搜索了很多关于它的信息,但没有得到任何解决方案 不显示图标的labour_list.class enter code hpackage com.example.builderpro; public class Labour_list extends AppCompatActivity { TextView p_title,p_address; ImageView line; MyViewMo
enter code hpackage com.example.builderpro;
public class Labour_list extends AppCompatActivity {
TextView p_title,p_address;
ImageView line;
MyViewModel myViewModel;
RecyclerView recyclerView;
labour_list_adaptor madaptor;
Dproject dproject;
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_labour_list);
p_address = findViewById(R.id.addressproject_text);
p_title = findViewById(R.id.projectname_text);
line = findViewById(R.id.first_line);
recyclerView = findViewById(R.id.labour_recycler);
myViewModel = ViewModelProviders.of(this).get(MyViewModel.class);
dproject= getIntent().getParcelableExtra("project");
int project_id=dproject.getId();
p_title.setText(dproject.getClient_Name());
p_address.setText(dproject.getLocation());
toolbar = (Toolbar) findViewById(R.id.custom_toolbar);
setSupportActionBar(toolbar);
madaptor=new labour_list_adaptor(project_id,this);
myViewModel.GetAllLabour().observe(this, new Observer<List<Dlabour>>() {
@Override
public void onChanged(List<Dlabour> dlabours) {
madaptor.setLabour(dlabours);
}
});
buildRecyclerView();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu,menu);
MenuItem search_item= menu.findItem(R.id.search);
SearchView searchView =(SearchView) search_item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
madaptor.getFilter().filter(newText);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
public void buildRecyclerView()
{
RecyclerView.LayoutManager layoutManager= new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(madaptor);
madaptor.setonClickListner(new labour_list_adaptor.onClickListner() {
@Override
public void onbtnClick(Dlabour dlabour) {
Intent intent = new Intent(Labour_list.this,attendence_sheet.class );
intent.putExtra("labour",dlabour);
intent.putExtra("project_title",dproject.getClient_Name());
startActivity(intent);
}
});
}
输入代码hpackage com.example.builderpro;
公共类劳工活动列表{
text查看p_标题、p_地址;
影像线;
MyViewModel MyViewModel;
回收视图回收视图;
劳动力列表适配器制造商;
D项目D项目;
工具栏;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u labour\u list);
p_address=findviewbyd(R.id.addressproject_text);
p_title=findViewById(R.id.projectname_text);
行=findViewById(R.id.第一行);
recyclerView=findViewById(R.id.labour\U recycler);
myViewModel=ViewModelProviders.of(this.get)(myViewModel.class);
dproject=getIntent().getParcelableExtra(“项目”);
int project_id=dproject.getId();
p_title.setText(dproject.getClient_Name());
p_address.setText(dproject.getLocation());
toolbar=(toolbar)findviewbyd(R.id.custom_toolbar);
设置支持操作栏(工具栏);
madaptor=新的人工列表适配器(项目id,此);
myViewModel.GetAllLabour().observe(这是新的观察者(){
@凌驾
更改后的公共无效(列表dlabours){
madaptor.setLabour(dlabours);
}
});
buildRecyclerView();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(右菜单.搜索菜单,菜单);
MenuItem search\u item=menu.findItem(R.id.search);
SearchView SearchView=(SearchView)搜索_项。getActionView();
searchView.setOnQueryTextListener(新的searchView.OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串查询){
返回false;
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
madaptor.getFilter().filter(newText);
返回false;
}
});
返回super.onCreateOptions菜单(菜单);
}
公共布尔值onOptionsItemSelected(菜单项项){
返回super.onOptionsItemSelected(项目);
}
公共void buildRecyclerView()
{
RecyclerView.LayoutManager LayoutManager=新的LinearLayoutManager(此);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(madaptor);
madaptor.setonClickListner(新的人工列表适配器.onClickListner(){
@凌驾
单击(Dlabour Dlabour)时出现公共无效{
意向意向=新意向(劳工清单、考勤表、班级);
意向。额外(“劳动”,dlabour);
intent.putExtra(“project_title”,dproject.getClient_Name());
星触觉(意向);
}
});
}
}
以下是activity_labour_list.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
tools:context=".Labour_list">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/background"
>
<include
android:id="@+id/include"
layout="@layout/toolbar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/projectname_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:fontFamily="@font/unineue"
android:text="Project Title"
android:textColor="@color/yellow"
android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/addressproject_text"
app:layout_constraintTop_toBottomOf="@+id/include" />
<TextView
android:id="@+id/addressproject_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/unineue"
android:text="Address"
android:textColor="@color/text"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/first_line"
app:layout_constraintTop_toBottomOf="@+id/projectname_text" />
<ImageView
android:id="@+id/first_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:elevation="5dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/addressproject_text"
app:srcCompat="@drawable/text_viewline" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="136dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="136dp"
android:fontFamily="@font/unineue"
android:gravity="center"
android:text="Labour List"
android:textColor="@color/yellow"
android:textSize="25sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/first_line" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:elevation="5dp"
app:layout_constraintEnd_toEndOf="@+id/imageView5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView5"
app:srcCompat="@drawable/text_viewline2" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:elevation="5dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7"
app:srcCompat="@drawable/text_viewline2" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="8dp"
android:fontFamily="@font/unineue"
android:text="Name"
android:textColor="@color/yellow"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView4" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/unineue"
android:text="Mobile"
android:textColor="@color/yellow"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/textView6"
app:layout_constraintEnd_toStartOf="@+id/textView8"
app:layout_constraintHorizontal_bias="0.558"
app:layout_constraintStart_toEndOf="@+id/textView6"
app:layout_constraintTop_toTopOf="@+id/textView6"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:fontFamily="@font/unineue"
android:text="Attendance"
android:textColor="@color/yellow"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/textView7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/textView7"
app:layout_constraintVertical_bias="0.0" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/labour_recycler"
android:layout_width="0dp"
android:layout_height="453dp"
android:layout_marginStart="2dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="2dp"
android:padding="2dp"
android:scrollbars="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@+id/imageView5"
app:layout_constraintTop_toBottomOf="@+id/imageView5" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
以下是search_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/search"
android:title="Search"
android:icon="@drawable/search_"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="always"
/>
</menu>
以下是显示搜索图标projectlist.class的活动
package com.example.builderpro;
public class project_list extends AppCompatActivity {
MyViewModel myViewModel;
List<Dproject> myprojectlist=new ArrayList<>();
Toolbar toolbar;
RecyclerView recyclerView;
MyAdaptor myAdaptor;
int project_id=0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode== KeyEvent.KEYCODE_BACK) {
return false;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_project_list);
toolbar=(Toolbar)findViewById(R.id.custom_toolbar);
setSupportActionBar(toolbar);
int sid= getIntent().getIntExtra("supervisor_id",0);
final MyAdaptor myAdaptor1=new MyAdaptor(this,sid);
myViewModel= ViewModelProviders.of(this).get(MyViewModel.class);
myViewModel.GetAllProject().observe(this, new Observer<List<Dproject>>() {
@Override
public void onChanged(List<Dproject> dprojects) {
myAdaptor.setproject(dprojects);
}
});
myAdaptor=myAdaptor1;
BuildRecyclerView();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu,menu);
MenuItem menuItem=menu.findItem(R.id.search);
androidx.appcompat.widget.SearchView searchView= (androidx.appcompat.widget.SearchView)
menuItem.getActionView();
searchView.setQueryHint("Search");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
myAdaptor.getFilter().filter(newText);
return false;
}
});
getMenuInflater().inflate(R.menu.logout_menu,menu);
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected( MenuItem item) {
if(item.getItemId()==R.id.logout)
{
SharedPreferences preferences= getSharedPreferences("checkbox",MODE_PRIVATE);
SharedPreferences.Editor editor= preferences.edit();
editor.putString("remember","false");
editor.apply();
finish();
}
return super.onOptionsItemSelected(item);
}
public void BuildRecyclerView()
{
recyclerView=(RecyclerView)findViewById(R.id.recycler_view);
RecyclerView.LayoutManager layoutManager= new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(myAdaptor);
myAdaptor.setOnItemClickListner(new MyAdaptor.OnItemClickListener() {
@Override
public void onactivityClick(int position,int btnId) {
Dproject dproject= myAdaptor.getproject(position);
if (btnId==1){
Intent intent= new Intent(project_list.this,activity.class);
intent.putExtra("project",dproject);
startActivity(intent);
}
else
{
Intent intent= new Intent(project_list.this,Labour_list.class);
intent.putExtra("project",dproject);
startActivity(intent);
}
}
});
}
}
package com.example.builderpro;
公共类项目列表扩展了AppCompatActivity{
MyViewModel MyViewModel;
List myprojectlist=新建ArrayList();
工具栏;
回收视图回收视图;
MyAdapter MyAdapter;
int project_id=0;
@凌驾
公共布尔onKeyDown(int-keyCode,KeyEvent事件){
if(keyCode==KeyEvent.keyCode\u BACK){
返回false;
}
返回super.onKeyDown(keyCode,event);
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u project\u list);
toolbar=(toolbar)findviewbyd(R.id.custom_toolbar);
设置支持操作栏(工具栏);
int sid=getIntent().getIntExtra(“主管id”,0);
最终MyAdapter MyAdapter1=新MyAdapter(此为sid);
myViewModel=ViewModelProviders.of(this.get)(myViewModel.class);
myViewModel.GetAllProject().observe(这是一个新的观察者(){
@凌驾
更改后的公共无效(列出数据项目){
MyAdapter.setproject(dprojects);
}
});
MyAdapter=MyAdapter1;
BuildRecyclerView();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(右菜单.搜索菜单,菜单);
MenuItem MenuItem=menu.findItem(R.id.search);
androidx.appcompat.widget.SearchView SearchView=(androidx.appcompat.widget.SearchView)
menuItem.getActionView();
searchView.setQueryHint(“搜索”);
searchView.setOnQueryTextListener(新的searchView.OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串查询){
返回false;
}
@凌驾
公共布尔onQueryTextChange(字符串newText){
MyAdapter.getFilter().filter(新文本);
返回false;
}
});
getMenuInflater().充气(右菜单、注销菜单、菜单);
返回super.onCreateOptions菜单(菜单);
}
公共布尔值onOptionsItemSelected(菜单项项){
if(item.getItemId()==R.id.logout)
{
SharedReferences首选项=获取SharedReferences(“复选框”,模式为“私有”);
SharedReferences.Editor=首选项.edit();
putString(“记住”、“错误”);
editor.apply();
完成();
}
返回super.onOptionsItemSelected(项目);
}
公共void BuildRecyclerView()
{
recyclerView=(recyclerView)findViewById(R.id.recycler\u视图);
RecyclerView.LayoutManager LayoutManager=新的LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(MyAdapter);
myAdapter.setOnItemClickListner(新的myAdapter.OnItemClickListener(){
@凌驾
活动条上的公共无效(int位置,int btnId){
Dproject Dproject=myadapter.getproject(位置);
如果(btnId==1){
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".project_list"
android:background="@color/background"
android:orientation="vertical"
android:paddingBottom="20dp">
<include layout="@layout/toolbar"/>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recycler_view"
android:scrollbars="vertical"
/>
</LinearLayout>