有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何为我的GridView包含SearchView?

**我想要的是,当用户在searcView中搜索某个内容时,可以看到他或她输入的带有字母的所有项目,并且当它触及某个项目时,一个值Id会保存在文本视图中,我稍后会将其放入代码中,这就是我想要的**

这是主要活动

import 安卓x.annotation.RequiresApi;
import 安卓x.appcompat.app.AppCompatActivity;

import 安卓.os.Build;
import 安卓.os.Bundle;
import 安卓.text.TextUtils;
import 安卓.transition.Explode;
import 安卓.util.EventLogTags;
import 安卓.view.LayoutInflater;
import 安卓.view.View;
import 安卓.view.ViewGroup;
import 安卓.view.Window;
import 安卓.widget.ArrayAdapter;
import 安卓.widget.BaseAdapter;
import 安卓.widget.Filter;
import 安卓.widget.Filterable;
import 安卓.widget.GridView;
import 安卓.widget.ImageView;
import 安卓.widget.ListView;
import 安卓.widget.SearchView;
import 安卓.widget.TextView;
import 安卓.widget.Toast;

import java.util.ArrayList;

public class Main2Activity extends AppCompatActivity {
    GridView lvlist;
    SearchView sv;

    ArrayList<AdapterItems>    listnewsData = new ArrayList<AdapterItems>();
    MyCustomAdapter myadapter;
    TextView description;
    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);



        sv=findViewById(R.id.searcview);
        lvlist = findViewById(R.id.lvlist);
        description=findViewById(R.id.description);


        //add data and view it
        listnewsData.add(new AdapterItems("1","Te Soñaste con agua"));
        listnewsData.add(new AdapterItems("2","Te soñaste con un pato"));
        listnewsData.add(new AdapterItems("3","Te soñaste con un niño"));
        listnewsData.add(new AdapterItems("4","Te soñaste con o en la cama"));
        listnewsData.add(new AdapterItems("5","Te soñaste con un hombre"));
        listnewsData.add(new AdapterItems("6","Te soñaste con una mujer"));
        listnewsData.add(new AdapterItems("7","Te soñaste con un revolver"));
        listnewsData.add(new AdapterItems("8","Te soñaste con una culebra o serpiente"));
        listnewsData.add(new AdapterItems("9","Te soñaste con un muerto"));
        listnewsData.add(new AdapterItems("10","Te soñaste con un cañon"));
        listnewsData.add(new AdapterItems("11","Te soñaste con un arbol"));
        listnewsData.add(new AdapterItems("12" ,"Te soñaste con un soldado "));
        listnewsData.add(new AdapterItems("13" ,"Te soñaste con un gato negro"));
        listnewsData.add(new AdapterItems("14" ,"Te soñaste con un borracho"));
        listnewsData.add(new AdapterItems("15" ,"Te soñaste con una quinceañera"));
        listnewsData.add(new AdapterItems("16" ,"Te soñaste con un anillo"));
        listnewsData.add(new AdapterItems("17" ,"Te soñaste con una desgracia"));
        listnewsData.add(new AdapterItems("18" ,"Te soñaste con sangre"));
        listnewsData.add(new AdapterItems("19" ,"Te soñaste con pescados"));
        listnewsData.add(new AdapterItems("20" ,"Te soñaste con una fiesta"));
        listnewsData.add(new AdapterItems("21" ,"Te soñaste con un rio"));
        listnewsData.add(new AdapterItems("22" ,"Te soñaste con patitos"));
        listnewsData.add(new AdapterItems("23" ,"Te soñaste con un cocinero"));
        listnewsData.add(new AdapterItems("24" ,"Te soñaste con caballos"));
        listnewsData.add(new AdapterItems("25" ,"Te soñaste con un fantasma"));
        listnewsData.add(new AdapterItems("26" ,"Te soñaste con una misa"));
        listnewsData.add(new AdapterItems("27" ,"Te soñaste con un peine"));
        listnewsData.add(new AdapterItems("28" ,"Te soñaste con un loco"));
        listnewsData.add(new AdapterItems("29" ,"Te soñaste con un espejo"));
        listnewsData.add(new AdapterItems("30" ,"Te soñaste con flores"));
        listnewsData.add(new AdapterItems("31" ,"Te soñaste con luz"));
        listnewsData.add(new AdapterItems("32" ,"Te soñaste con mucho dinero"));
        listnewsData.add(new AdapterItems("33" ,"Te soñaste con mauras(aves negras)"));
        listnewsData.add(new AdapterItems("34" ,"Te soñaste con la cabeza"));
        listnewsData.add(new AdapterItems("35" ,"Te soñaste con un pajarito"));
        listnewsData.add(new AdapterItems("36" ,"Te soñaste con queso"));
        listnewsData.add(new AdapterItems("37" ,"Te soñaste con un dentista"));
        listnewsData.add(new AdapterItems("38" ,"Te soñaste con piedras"));
        listnewsData.add(new AdapterItems("39" ,"Te soñaste con lluvia"));
        listnewsData.add(new AdapterItems("40" ,"Te soñaste bailando"));
        listnewsData.add(new AdapterItems("41" ,"Te soñaste con un cuchillo"));
        listnewsData.add(new AdapterItems("42" ,"Te soñaste con prendas"));
        listnewsData.add(new AdapterItems("43" ,"Te soñaste con un maco o sapo"));
        listnewsData.add(new AdapterItems("44" ,"Te soñaste con la carcel"));
        listnewsData.add(new AdapterItems("45" ,"Te soñaste con una pistola"));
        listnewsData.add(new AdapterItems("46" ,"Te soñaste con tomate"));
        listnewsData.add(new AdapterItems("47" ,"Te soñaste con Santos"));
        listnewsData.add(new AdapterItems("48" ,"Te soñaste reviviendo"));
        listnewsData.add(new AdapterItems("49" ,"Te soñaste con carne"));
        listnewsData.add(new AdapterItems("50" ,"Te soñaste con pan"));
        listnewsData.add(new AdapterItems("51" ,"Te soñaste con un serrucho"));
        listnewsData.add(new AdapterItems("52" ,"Te soñaste con bebidas"));
        listnewsData.add(new AdapterItems("53","Te soñaste con un barco"));
        listnewsData.add(new AdapterItems("54","Te soñaste con vacas"));
        listnewsData.add(new AdapterItems("55","Te soñaste con musica"));
        listnewsData.add(new AdapterItems("56","Te soñaste con una caida"));
        listnewsData.add(new AdapterItems("57","Te soñaste con un jorobado"));
        listnewsData.add(new AdapterItems("58","Te soñaste con un abogado"));
        listnewsData.add(new AdapterItems("59","Te soñaste con matas (plantas)"));
        listnewsData.add(new AdapterItems("60","Te soñaste con una escuela"));
        listnewsData.add(new AdapterItems("61" ,"Te soñaste con una escopeta"));
        listnewsData.add(new AdapterItems("62" ,"Te soñaste con una inundacion"));
        listnewsData.add(new AdapterItems("63" ,"Te soñaste con madre e hija"));
        listnewsData.add(new AdapterItems("64" ,"Te soñaste con llanto"));
        listnewsData.add(new AdapterItems("65" ,"Te soñaste con una boda"));
        listnewsData.add(new AdapterItems("66" ,"Te soñaste con mujeres"));
        listnewsData.add(new AdapterItems("67" ,"Te soñaste con una mordida"));
        listnewsData.add(new AdapterItems("68" ,"Te soñaste con sobrinos"));
        listnewsData.add(new AdapterItems("69" ,"Te soñaste con vicios"));
        listnewsData.add(new AdapterItems("70" ,"Te soñaste con un limosnero"));
        listnewsData.add(new AdapterItems("71" ,"Te soñaste con excremento (pupu)"));
        listnewsData.add(new AdapterItems("72" ,"Te soñaste con un jarron"));
        listnewsData.add(new AdapterItems("73" ,"Te soñaste lesionado"));
        listnewsData.add(new AdapterItems("74" ,"Te soñaste con un moreno"));
        listnewsData.add(new AdapterItems("75" ,"Te soñaste con un payaso"));
        listnewsData.add(new AdapterItems("76" ,"Te soñaste con llamas"));
        listnewsData.add(new AdapterItems("77" ,"Te soñaste con muletas"));
        listnewsData.add(new AdapterItems("78" ,"Te soñaste con prostitutas"));
        listnewsData.add(new AdapterItems("79" ,"Te soñaste con un ladron"));
        listnewsData.add(new AdapterItems("80" ,"Te soñaste con pelotas"));
        listnewsData.add(new AdapterItems("81" ,"Te soñaste con matematicas"));
        listnewsData.add(new AdapterItems("82" ,"Te soñaste con peleas"));
        listnewsData.add(new AdapterItems("83" ,"Te soñaste con felicidad"));
        listnewsData.add(new AdapterItems("84" ,"Te soñaste con una iglesia"));
        listnewsData.add(new AdapterItems("85" ,"Te soñaste con una letrina"));
        listnewsData.add(new AdapterItems("86" ,"Te soñaste con un turista"));
        listnewsData.add(new AdapterItems("87" ,"Te soñaste con piojos"));
        listnewsData.add(new AdapterItems("88" ,"Te soñaste con el papa"));
        listnewsData.add(new AdapterItems("89" ,"Te soñaste con ratones"));
        listnewsData.add(new AdapterItems("90" ,"Te soñaste con miedo"));
        listnewsData.add(new AdapterItems("91" ,"Te soñaste con un pintor"));
        listnewsData.add(new AdapterItems("92","Te soñaste conun medico"));
        listnewsData.add(new AdapterItems("93","Te soñaste enamorado de alguien"));
        listnewsData.add(new AdapterItems("94","Te soñaste con un cementerio"));
        listnewsData.add(new AdapterItems("95","Te soñaste con los lentes"));
        listnewsData.add(new AdapterItems("96","Te soñaste con un tren"));
        listnewsData.add(new AdapterItems("97","Te soñaste con una mesa"));
        listnewsData.add(new AdapterItems("98","Te soñaste con la bandera"));
        listnewsData.add(new AdapterItems("99","Te soñaste con unos niños"));






        myadapter=new MyCustomAdapter(listnewsData);
        lvlist.setAdapter(myadapter);




        sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }


            @Override
            public boolean onQueryTextChange(String newText) {
                lvlist.setAdapter(myadapter);
                if (TextUtils.isEmpty(newText)) {
                    lvlist.clearTextFilter();
                } else {
                    lvlist.setFilterText(newText.toString());
                }

                return true;
            }
        });



    }







    public class MyCustomAdapter extends BaseAdapter  {
        public  ArrayList<AdapterItems>  listnewsDataAdpater ;





        public MyCustomAdapter(ArrayList<AdapterItems> listnewsDataAdpater) {
            this.listnewsDataAdpater=listnewsDataAdpater;

        }


        @Override
        public int getCount() {
            return listnewsDataAdpater.size();
        }

        @Override
        public String getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
            LayoutInflater mInflater = getLayoutInflater();
            View myView = mInflater.inflate(R.layout.ticket, null);

            final   AdapterItems s = listnewsDataAdpater.get(position);

            TextView tvTitle=(TextView)myView.findViewById(R.id.description);
            tvTitle.setText(String.valueOf(s.Description));

            myView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(Main2Activity.this, s.Description, Toast.LENGTH_SHORT ).show();
                }
            });





            return myView;
        }


    }


    }```   




这是我的AdapterItems

public class AdapterItems {

    public   String ID;
    public  String Description;
    //for news details
    AdapterItems( String ID,String Description)
    {
        this. ID=ID;
        this. Description=Description;
    }
}

这是我的XML

<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    xmlns:tools="http://schemas.安卓.com/tools"
    tools:context=".Main2Activity"
    安卓:padding="3pt"
    安卓:background="#d4d3d3">


    <LinearLayout
        安卓:layout_width="match_parent"
        安卓:layout_height="match_parent"
        安卓:orientation="vertical">

        <SearchView
            安卓:layout_width="match_parent"
            安卓:layout_height="wrap_content"
            安卓:id="@+id/searcview"
            安卓:queryHint="Busque su sueño"
            安卓:iconifiedByDefault="false"/>

        <GridView
            安卓:id="@+id/lvlist"
            安卓:layout_width="match_parent"
            安卓:layout_height="match_parent"
            安卓:columnWidth="90dp"
            安卓:horizontalSpacing="3dp"
            安卓:numColumns="3"
            安卓:verticalSpacing="5pt" />
    </LinearLayout>

</RelativeLayout>

共 (1) 个答案

  1. # 1 楼答案

    这就是答案

    主要活动

    import androidx.annotation.NonNull;
    import androidx.annotation.RequiresApi;
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Context;
    import android.os.Build;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.transition.Explode;
    import android.util.EventLogTags;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.Window;
    import android.widget.ArrayAdapter;
    import android.widget.BaseAdapter;
    import android.widget.Filter;
    import android.widget.Filterable;
    import android.widget.GridView;
    import android.widget.ImageView;
    import android.widget.ListView;
    import android.widget.SearchView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    public class Main2Activity extends AppCompatActivity {
        ListView lvlist;
        SearchView sv;
    
        ArrayList<AdapterItems>    listnewsData = new ArrayList<AdapterItems>();
        MyCustomAdapter myadapter;
        TextView description;
        ListView listView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main2);
    
    
    
    
            lvlist = findViewById(R.id.lvlist);
            description=findViewById(R.id.description);
    
    
            //add data and view it
            listnewsData.add(new AdapterItems("1","Te soñaste con agua"));
            listnewsData.add(new AdapterItems("2","Te soñaste con un pato"));
            listnewsData.add(new AdapterItems("3","Te soñaste con un niño"));
            listnewsData.add(new AdapterItems("4","Te soñaste con o en la cama"));
            listnewsData.add(new AdapterItems("5","Te soñaste con un hombre"));
            listnewsData.add(new AdapterItems("6","Te soñaste con una mujer"));
            listnewsData.add(new AdapterItems("7","Te soñaste con un revolver"));
            listnewsData.add(new AdapterItems("8","Te soñaste con una culebra o serpiente"));
            listnewsData.add(new AdapterItems("9","Te soñaste con un muerto"));
            listnewsData.add(new AdapterItems("10","Te soñaste con un cañon"));
            listnewsData.add(new AdapterItems("11","Te soñaste con un arbol"));
            listnewsData.add(new AdapterItems("12" ,"Te soñaste con un soldado "));
            listnewsData.add(new AdapterItems("13" ,"Te soñaste con un gato negro"));
            listnewsData.add(new AdapterItems("14" ,"Te soñaste con un borracho"));
            listnewsData.add(new AdapterItems("15" ,"Te soñaste con una quinceañera"));
            listnewsData.add(new AdapterItems("16" ,"Te soñaste con un anillo"));
            listnewsData.add(new AdapterItems("17" ,"Te soñaste con una desgracia"));
            listnewsData.add(new AdapterItems("18" ,"Te soñaste con sangre"));
            listnewsData.add(new AdapterItems("19" ,"Te soñaste con pescados"));
            listnewsData.add(new AdapterItems("20" ,"Te soñaste con una fiesta"));
            listnewsData.add(new AdapterItems("21" ,"Te soñaste con un rio"));
            listnewsData.add(new AdapterItems("22" ,"Te soñaste con patitos"));
            listnewsData.add(new AdapterItems("23" ,"Te soñaste con un cocinero"));
            listnewsData.add(new AdapterItems("24" ,"Te soñaste con caballos"));
            listnewsData.add(new AdapterItems("25" ,"Te soñaste con un fantasma"));
            listnewsData.add(new AdapterItems("26" ,"Te soñaste con una misa"));
            listnewsData.add(new AdapterItems("27" ,"Te soñaste con un peine"));
            listnewsData.add(new AdapterItems("28" ,"Te soñaste con un loco"));
            listnewsData.add(new AdapterItems("29" ,"Te soñaste con un espejo"));
            listnewsData.add(new AdapterItems("30" ,"Te soñaste con flores"));
            listnewsData.add(new AdapterItems("31" ,"Te soñaste con luz"));
            listnewsData.add(new AdapterItems("32" ,"Te soñaste con mucho dinero"));
            listnewsData.add(new AdapterItems("33" ,"Te soñaste con mauras(aves negras)"));
            listnewsData.add(new AdapterItems("34" ,"Te soñaste con la cabeza"));
            listnewsData.add(new AdapterItems("35" ,"Te soñaste con un pajarito"));
            listnewsData.add(new AdapterItems("36" ,"Te soñaste con queso"));
            listnewsData.add(new AdapterItems("37" ,"Te soñaste con un dentista"));
            listnewsData.add(new AdapterItems("38" ,"Te soñaste con piedras"));
            listnewsData.add(new AdapterItems("39" ,"Te soñaste con lluvia"));
            listnewsData.add(new AdapterItems("40" ,"Te soñaste bailando"));
            listnewsData.add(new AdapterItems("41" ,"Te soñaste con un cuchillo"));
            listnewsData.add(new AdapterItems("42" ,"Te soñaste con prendas"));
            listnewsData.add(new AdapterItems("43" ,"Te soñaste con un maco o sapo"));
            listnewsData.add(new AdapterItems("44" ,"Te soñaste con la carcel"));
            listnewsData.add(new AdapterItems("45" ,"Te soñaste con una pistola"));
            listnewsData.add(new AdapterItems("46" ,"Te soñaste con tomate"));
            listnewsData.add(new AdapterItems("47" ,"Te soñaste con Santos"));
            listnewsData.add(new AdapterItems("48" ,"Te soñaste reviviendo"));
            listnewsData.add(new AdapterItems("49" ,"Te soñaste con carne"));
            listnewsData.add(new AdapterItems("50" ,"Te soñaste con pan"));
            listnewsData.add(new AdapterItems("51" ,"Te soñaste con un serrucho"));
            listnewsData.add(new AdapterItems("52" ,"Te soñaste con bebidas"));
            listnewsData.add(new AdapterItems("53","Te soñaste con un barco"));
            listnewsData.add(new AdapterItems("54","Te soñaste con vacas"));
            listnewsData.add(new AdapterItems("55","Te soñaste con musica"));
            listnewsData.add(new AdapterItems("56","Te soñaste con una caida"));
            listnewsData.add(new AdapterItems("57","Te soñaste con un jorobado"));
            listnewsData.add(new AdapterItems("58","Te soñaste con un abogado"));
            listnewsData.add(new AdapterItems("59","Te soñaste con matas (plantas)"));
            listnewsData.add(new AdapterItems("60","Te soñaste con una escuela"));
            listnewsData.add(new AdapterItems("61" ,"Te soñaste con una escopeta"));
            listnewsData.add(new AdapterItems("62" ,"Te soñaste con una inundacion"));
            listnewsData.add(new AdapterItems("63" ,"Te soñaste con madre e hija"));
            listnewsData.add(new AdapterItems("64" ,"Te soñaste con llanto"));
            listnewsData.add(new AdapterItems("65" ,"Te soñaste con una boda"));
            listnewsData.add(new AdapterItems("66" ,"Te soñaste con mujeres"));
            listnewsData.add(new AdapterItems("67" ,"Te soñaste con una mordida"));
            listnewsData.add(new AdapterItems("68" ,"Te soñaste con sobrinos"));
            listnewsData.add(new AdapterItems("69" ,"Te soñaste con vicios"));
            listnewsData.add(new AdapterItems("70" ,"Te soñaste con un limosnero"));
            listnewsData.add(new AdapterItems("71" ,"Te soñaste con excremento (pupu)"));
            listnewsData.add(new AdapterItems("72" ,"Te soñaste con un jarron"));
            listnewsData.add(new AdapterItems("73" ,"Te soñaste lesionado"));
            listnewsData.add(new AdapterItems("74" ,"Te soñaste con un moreno"));
            listnewsData.add(new AdapterItems("75" ,"Te soñaste con un payaso"));
            listnewsData.add(new AdapterItems("76" ,"Te soñaste con llamas"));
            listnewsData.add(new AdapterItems("77" ,"Te soñaste con muletas"));
            listnewsData.add(new AdapterItems("78" ,"Te soñaste con prostitutas"));
            listnewsData.add(new AdapterItems("79" ,"Te soñaste con un ladron"));
            listnewsData.add(new AdapterItems("80" ,"Te soñaste con pelotas"));
            listnewsData.add(new AdapterItems("81" ,"Te soñaste con matematicas"));
            listnewsData.add(new AdapterItems("82" ,"Te soñaste con peleas"));
            listnewsData.add(new AdapterItems("83" ,"Te soñaste con felicidad"));
            listnewsData.add(new AdapterItems("84" ,"Te soñaste con una iglesia"));
            listnewsData.add(new AdapterItems("85" ,"Te soñaste con una letrina"));
            listnewsData.add(new AdapterItems("86" ,"Te soñaste con un turista"));
            listnewsData.add(new AdapterItems("87" ,"Te soñaste con piojos"));
            listnewsData.add(new AdapterItems("88" ,"Te soñaste con el papa"));
            listnewsData.add(new AdapterItems("89" ,"Te soñaste con ratones"));
            listnewsData.add(new AdapterItems("90" ,"Te soñaste con miedo"));
            listnewsData.add(new AdapterItems("91" ,"Te soñaste con un pintor"));
            listnewsData.add(new AdapterItems("92","Te soñaste conun medico"));
            listnewsData.add(new AdapterItems("93","Te soñaste enamorado de alguien"));
            listnewsData.add(new AdapterItems("94","Te soñaste con un cementerio"));
            listnewsData.add(new AdapterItems("95","Te soñaste con los lentes"));
            listnewsData.add(new AdapterItems("96","Te soñaste con un tren"));
            listnewsData.add(new AdapterItems("97","Te soñaste con una mesa"));
            listnewsData.add(new AdapterItems("98","Te soñaste con la bandera"));
            listnewsData.add(new AdapterItems("99","Te soñaste con unos niños"));
    
    
    
            myadapter=new MyCustomAdapter(listnewsData);
            lvlist.setAdapter(myadapter);
    
    
    
    
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
    
    
            getMenuInflater().inflate(R.menu.menu,menu);
    
            MenuItem menuitem= menu.findItem(R.id.search_view);
    
            SearchView searchView = (SearchView) menuitem.getActionView();
    
            searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
                @Override
                public boolean onQueryTextSubmit(String query) {
                    return false;
                }
    
                @Override
                public boolean onQueryTextChange(String newText) {
                    myadapter.getFilter().filter(newText);
    
                    return false;
                }
            });
    
    
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(@NonNull MenuItem item) {
            int id= item.getItemId();
    
            if (id==R.id.search_view)
                return true;
            return super.onOptionsItemSelected(item);
        }
    
        public class MyCustomAdapter extends BaseAdapter implements Filterable {
            public  ArrayList<AdapterItems>  listnewsDataAdpater ;
    
    
    
    
            public MyCustomAdapter(ArrayList<AdapterItems> listnewsDataAdpater ) {
                this.listnewsDataAdpater=listnewsDataAdpater;
    
            }
    
    
            @Override
            public int getCount() {
                return listnewsDataAdpater.size();
            }
    
            @Override
            public String getItem(int position) {
                return null;
            }
    
            @Override
            public long getItemId(int position) {
                return position;
            }
    
            @Override
            public View getView(int position, View convertView, ViewGroup parent)
            {
                LayoutInflater mInflater = getLayoutInflater();
                View myView = mInflater.inflate(R.layout.ticket, null);
    
                final   AdapterItems s = listnewsDataAdpater.get(position);
    
                TextView tvTitle=(TextView)myView.findViewById(R.id.description);
                tvTitle.setText(String.valueOf(s.Description));
    
                myView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(Main2Activity.this, s.ID, Toast.LENGTH_SHORT ).show();
                    }
                });
    
    
    
    
    
                return myView;
            }
    
    
            @Override
            public Filter getFilter() {
                Filter filter= new Filter() {
                    @Override
                    protected FilterResults performFiltering(CharSequence constraint) {
    
                        FilterResults filterResults= new FilterResults();
    
                        if (constraint== null|| constraint.length()==0){
                            filterResults.count= listnewsData.size();
                            filterResults.values=listnewsData;
                        }else {
                            String searchStr = constraint.toString().toLowerCase();
                            ArrayList<AdapterItems> resultData = new ArrayList<>();
    
                            for (AdapterItems adapterItems:listnewsData){
    
                                if(adapterItems.getDescription().contains(searchStr)){
                                    resultData.add(adapterItems);
    
                                }
    
                                filterResults.count=resultData.size();
                                filterResults.values=resultData;
                            }
                        }
    
                        return filterResults;
                    }
    
                    @Override
                    protected void publishResults(CharSequence constraint, FilterResults results) {
    
                        listnewsDataAdpater= (ArrayList<AdapterItems>)results.values;
                        notifyDataSetChanged();
    
                    }
                };
    
                return filter;
            }
        }
    
    
        }
    

    适配器

    public class AdapterItems {
    
        public   String ID;
        public  String Description;
        //for news details
        public AdapterItems( String ID,String Description)
        {
            this. ID=ID;
            this. Description=Description;
        }
    
        public String getID() {
            return ID;
        }
    
        public void setID(String ID) {
            this.ID = ID;
        }
    
        public String getDescription() {
            return Description;
        }
    
        public void setDescription(String description) {
            Description = description;
        }
    }
    
    
    

    主要活动XML

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".Main2Activity"
    android:padding="3pt"
    android:background="#d4d3d3">
    
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <ListView
            android:id="@+id/lvlist"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:columnWidth="90dp"
            android:horizontalSpacing="3dp"
             />
    </LinearLayout>
    
    </RelativeLayout>
    

    您必须使用resource type menu创建一个新的android资源目录,然后在该文件夹中创建一个新的菜单资源文件,您必须在该资源文件中添加netx代码

    <?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_view"
            android:title="Busque su sueno"
            app:actionViewClass="android.widget.SearchView"
            android:icon="@android:drawable/ic_menu_search"
            app:showAsAction="always"
    
            />
    </menu>
    
    

    这一点将得到实现