Java 如何在android中实现searchview过滤器?
由于我是android新手,我不知道如何实现searchview过滤器。因为我使用毕加索从服务器检索图像并通过cardview显示。我的预期输出是,当用户键入需要单独过滤特定gridview的汽车名称时。请有人帮助我使此searchview可行 MainActivity.javaJava 如何在android中实现searchview过滤器?,java,android,picasso,searchview,android-cardview,Java,Android,Picasso,Searchview,Android Cardview,由于我是android新手,我不知道如何实现searchview过滤器。因为我使用毕加索从服务器检索图像并通过cardview显示。我的预期输出是,当用户键入需要单独过滤特定gridview的汽车名称时。请有人帮助我使此searchview可行 MainActivity.java public class MainActivity extends AppCompatActivity { static String urlAddress="server_url"; @Override pro
public class MainActivity extends AppCompatActivity {
static String urlAddress="server_url";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
final GridView gv= (GridView) findViewById(R.id.gv);
new Downloader(MainActivity.this,urlAddress,gv).execute();
}
}
public class Connector {
public static HttpURLConnection connect(String urlAddress)
{
try
{
URL url=new URL(urlAddress);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
//PROPERTIES
con.setRequestMethod("GET");
con.setConnectTimeout(20000);
con.setReadTimeout(20000);
con.setDoInput(true);
return con;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
public class DataParser extends AsyncTask<Void,Void,Boolean> {
Context c;
String jsonData;
GridView gv;
ProgressDialog pd;
ArrayList<Spacecraft> spacecrafts=new ArrayList<>();
public DataParser(Context c, String jsonData, GridView gv) {
this.c = c;
this.jsonData = jsonData;
this.gv = gv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Parse");
pd.setMessage("Parsing..Please wait");
pd.show();
}
@Override
protected Boolean doInBackground(Void... params) {
return this.parseData();
}
@Override
protected void onPostExecute(Boolean parsed) {
super.onPostExecute(parsed);
pd.dismiss();
if(parsed)
{
//BIND
CustomAdapter adapter=new CustomAdapter(c,spacecrafts);
gv.setAdapter(adapter);
}else {
Toast.makeText(c,"Unable To Parse",Toast.LENGTH_SHORT).show();
}
}
private Boolean parseData()
{
try
{
JSONArray ja=new JSONArray(jsonData);
JSONObject jo;
spacecrafts.clear();
Spacecraft spacecraft;
for (int i=0;i<ja.length();i++)
{
jo=ja.getJSONObject(i);
int id=jo.getInt("id");
String name=jo.getString("name");
String prop=jo.getString("propellant");
String desc=jo.getString("description");
String imageUrl=jo.getString("imageurl");
spacecraft=new Spacecraft();
spacecraft.setId(id);
spacecraft.setName(name);
spacecraft.setPropellant(prop);
spacecraft.setDescription(desc);
spacecraft.setImageUrl(imageUrl);
spacecrafts.add(spacecraft);
}
return true;
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
}
public class Downloader extends AsyncTask<Void,Void,String> {
Context c;
String urlAddress;
GridView gv;
ProgressDialog pd;
public Downloader(Context c, String urlAddress, GridView gv) {
this.c = c;
this.urlAddress = urlAddress;
this.gv = gv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Retrieve");
pd.setMessage("Retrieving..Please wait");
pd.show();
}
@Override
protected String doInBackground(Void... params) {
return this.downloadData();
}
@Override
protected void onPostExecute(String jsonData) {
super.onPostExecute(jsonData);
pd.dismiss();
if(jsonData==null)
{
Toast.makeText(c,"Unsuccessful,No Data Retrieved ",Toast.LENGTH_SHORT).show();
}else {
//PARSER
DataParser parser=new DataParser(c,jsonData,gv);
parser.execute();
}
}
private String downloadData()
{
HttpURLConnection con=Connector.connect(urlAddress);
if(con==null)
{
return null;
}
try
{
InputStream is=new BufferedInputStream(con.getInputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer jsonData=new StringBuffer();
while ((line=br.readLine()) !=null)
{
jsonData.append(line+"\n");
}
br.close();
is.close();
return jsonData.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public class execute {
}
}
public class CustomAdapter extends BaseAdapter {
Context c;
ArrayList<Spacecraft> spacecrafts;
public CustomAdapter(Context c, ArrayList<Spacecraft> spacecrafts) {
this.c = c;
this.spacecrafts = spacecrafts;
}
@Override
public int getCount() {
return spacecrafts.size();
}
@Override
public Object getItem(int position) {
return spacecrafts.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
{
convertView= LayoutInflater.from(c).inflate(R.layout.model,parent,false);
}
TextView nameTxt= (TextView) convertView.findViewById(R.id.nameTxt);
ImageView img= (ImageView) convertView.findViewById(R.id.spacecraftImage);
final Spacecraft s= (Spacecraft) this.getItem(position);
nameTxt.setText(s.getName());
PicassoClient.downloadImage(c, s.getImageUrl(), img);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openDetailACtivity(s.getName(),s.getPropellant(),s.getDescription(),s.getImageUrl());
}
});
return convertView;
}
private void openDetailACtivity(String name,String propellant,String
description,String imageUrl)
{
Intent i=new Intent(c, DetailActivity.class);
//PACK DATA
i.putExtra("NAME_KEY",name);
i.putExtra("PROPELLANT_KEY",propellant);
i.putExtra("DESCRIPTION_KEY",description);
i.putExtra("IMAGEURL_KEY",imageUrl);
c.startActivity(i);
}
}
public class PicassoClient {
public static void downloadImage(Context c,String imageUrl,ImageView img)
{
if(imageUrl!=null && imageUrl.length()>0)
{
Picasso.with(c).load(imageUrl).placeholder(R.drawable.placeholder).into(img);
}else {
Picasso.with(c).load(R.drawable.placeholder).into(img);
}
}
}
public class DetailActivity extends AppCompatActivity {
TextView nameTxt,propTxt,descTxt;
//Initialize webservice URL
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
nameTxt= (TextView) findViewById(R.id.nameTxtDetail);
descTxt= (TextView) findViewById(R.id.descDetailTxt);
propTxt= (TextView) findViewById(R.id.propellantTxtDetail);
img= (ImageView) findViewById(R.id.spacecraftImageDetail);
//RECEIVE
Intent i=this.getIntent();
final String name=i.getExtras().getString("NAME_KEY");
String propellant=i.getExtras().getString("PROPELLANT_KEY");
String desc=i.getExtras().getString("DESCRIPTION_KEY");
String imageurl=i.getExtras().getString("IMAGEURL_KEY");
//BIND
nameTxt.setText(name);
propTxt.setText(propellant);
descTxt.setText(desc);
PicassoClient.downloadImage(this,imageurl,img);
}
}
航天器.java(数据对象)
Connector.java
public class MainActivity extends AppCompatActivity {
static String urlAddress="server_url";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
final GridView gv= (GridView) findViewById(R.id.gv);
new Downloader(MainActivity.this,urlAddress,gv).execute();
}
}
public class Connector {
public static HttpURLConnection connect(String urlAddress)
{
try
{
URL url=new URL(urlAddress);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
//PROPERTIES
con.setRequestMethod("GET");
con.setConnectTimeout(20000);
con.setReadTimeout(20000);
con.setDoInput(true);
return con;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
public class DataParser extends AsyncTask<Void,Void,Boolean> {
Context c;
String jsonData;
GridView gv;
ProgressDialog pd;
ArrayList<Spacecraft> spacecrafts=new ArrayList<>();
public DataParser(Context c, String jsonData, GridView gv) {
this.c = c;
this.jsonData = jsonData;
this.gv = gv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Parse");
pd.setMessage("Parsing..Please wait");
pd.show();
}
@Override
protected Boolean doInBackground(Void... params) {
return this.parseData();
}
@Override
protected void onPostExecute(Boolean parsed) {
super.onPostExecute(parsed);
pd.dismiss();
if(parsed)
{
//BIND
CustomAdapter adapter=new CustomAdapter(c,spacecrafts);
gv.setAdapter(adapter);
}else {
Toast.makeText(c,"Unable To Parse",Toast.LENGTH_SHORT).show();
}
}
private Boolean parseData()
{
try
{
JSONArray ja=new JSONArray(jsonData);
JSONObject jo;
spacecrafts.clear();
Spacecraft spacecraft;
for (int i=0;i<ja.length();i++)
{
jo=ja.getJSONObject(i);
int id=jo.getInt("id");
String name=jo.getString("name");
String prop=jo.getString("propellant");
String desc=jo.getString("description");
String imageUrl=jo.getString("imageurl");
spacecraft=new Spacecraft();
spacecraft.setId(id);
spacecraft.setName(name);
spacecraft.setPropellant(prop);
spacecraft.setDescription(desc);
spacecraft.setImageUrl(imageUrl);
spacecrafts.add(spacecraft);
}
return true;
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
}
public class Downloader extends AsyncTask<Void,Void,String> {
Context c;
String urlAddress;
GridView gv;
ProgressDialog pd;
public Downloader(Context c, String urlAddress, GridView gv) {
this.c = c;
this.urlAddress = urlAddress;
this.gv = gv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Retrieve");
pd.setMessage("Retrieving..Please wait");
pd.show();
}
@Override
protected String doInBackground(Void... params) {
return this.downloadData();
}
@Override
protected void onPostExecute(String jsonData) {
super.onPostExecute(jsonData);
pd.dismiss();
if(jsonData==null)
{
Toast.makeText(c,"Unsuccessful,No Data Retrieved ",Toast.LENGTH_SHORT).show();
}else {
//PARSER
DataParser parser=new DataParser(c,jsonData,gv);
parser.execute();
}
}
private String downloadData()
{
HttpURLConnection con=Connector.connect(urlAddress);
if(con==null)
{
return null;
}
try
{
InputStream is=new BufferedInputStream(con.getInputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer jsonData=new StringBuffer();
while ((line=br.readLine()) !=null)
{
jsonData.append(line+"\n");
}
br.close();
is.close();
return jsonData.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public class execute {
}
}
public class CustomAdapter extends BaseAdapter {
Context c;
ArrayList<Spacecraft> spacecrafts;
public CustomAdapter(Context c, ArrayList<Spacecraft> spacecrafts) {
this.c = c;
this.spacecrafts = spacecrafts;
}
@Override
public int getCount() {
return spacecrafts.size();
}
@Override
public Object getItem(int position) {
return spacecrafts.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
{
convertView= LayoutInflater.from(c).inflate(R.layout.model,parent,false);
}
TextView nameTxt= (TextView) convertView.findViewById(R.id.nameTxt);
ImageView img= (ImageView) convertView.findViewById(R.id.spacecraftImage);
final Spacecraft s= (Spacecraft) this.getItem(position);
nameTxt.setText(s.getName());
PicassoClient.downloadImage(c, s.getImageUrl(), img);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openDetailACtivity(s.getName(),s.getPropellant(),s.getDescription(),s.getImageUrl());
}
});
return convertView;
}
private void openDetailACtivity(String name,String propellant,String
description,String imageUrl)
{
Intent i=new Intent(c, DetailActivity.class);
//PACK DATA
i.putExtra("NAME_KEY",name);
i.putExtra("PROPELLANT_KEY",propellant);
i.putExtra("DESCRIPTION_KEY",description);
i.putExtra("IMAGEURL_KEY",imageUrl);
c.startActivity(i);
}
}
public class PicassoClient {
public static void downloadImage(Context c,String imageUrl,ImageView img)
{
if(imageUrl!=null && imageUrl.length()>0)
{
Picasso.with(c).load(imageUrl).placeholder(R.drawable.placeholder).into(img);
}else {
Picasso.with(c).load(R.drawable.placeholder).into(img);
}
}
}
public class DetailActivity extends AppCompatActivity {
TextView nameTxt,propTxt,descTxt;
//Initialize webservice URL
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
nameTxt= (TextView) findViewById(R.id.nameTxtDetail);
descTxt= (TextView) findViewById(R.id.descDetailTxt);
propTxt= (TextView) findViewById(R.id.propellantTxtDetail);
img= (ImageView) findViewById(R.id.spacecraftImageDetail);
//RECEIVE
Intent i=this.getIntent();
final String name=i.getExtras().getString("NAME_KEY");
String propellant=i.getExtras().getString("PROPELLANT_KEY");
String desc=i.getExtras().getString("DESCRIPTION_KEY");
String imageurl=i.getExtras().getString("IMAGEURL_KEY");
//BIND
nameTxt.setText(name);
propTxt.setText(propellant);
descTxt.setText(desc);
PicassoClient.downloadImage(this,imageurl,img);
}
}
DataParser.java
public class MainActivity extends AppCompatActivity {
static String urlAddress="server_url";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
final GridView gv= (GridView) findViewById(R.id.gv);
new Downloader(MainActivity.this,urlAddress,gv).execute();
}
}
public class Connector {
public static HttpURLConnection connect(String urlAddress)
{
try
{
URL url=new URL(urlAddress);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
//PROPERTIES
con.setRequestMethod("GET");
con.setConnectTimeout(20000);
con.setReadTimeout(20000);
con.setDoInput(true);
return con;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
public class DataParser extends AsyncTask<Void,Void,Boolean> {
Context c;
String jsonData;
GridView gv;
ProgressDialog pd;
ArrayList<Spacecraft> spacecrafts=new ArrayList<>();
public DataParser(Context c, String jsonData, GridView gv) {
this.c = c;
this.jsonData = jsonData;
this.gv = gv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Parse");
pd.setMessage("Parsing..Please wait");
pd.show();
}
@Override
protected Boolean doInBackground(Void... params) {
return this.parseData();
}
@Override
protected void onPostExecute(Boolean parsed) {
super.onPostExecute(parsed);
pd.dismiss();
if(parsed)
{
//BIND
CustomAdapter adapter=new CustomAdapter(c,spacecrafts);
gv.setAdapter(adapter);
}else {
Toast.makeText(c,"Unable To Parse",Toast.LENGTH_SHORT).show();
}
}
private Boolean parseData()
{
try
{
JSONArray ja=new JSONArray(jsonData);
JSONObject jo;
spacecrafts.clear();
Spacecraft spacecraft;
for (int i=0;i<ja.length();i++)
{
jo=ja.getJSONObject(i);
int id=jo.getInt("id");
String name=jo.getString("name");
String prop=jo.getString("propellant");
String desc=jo.getString("description");
String imageUrl=jo.getString("imageurl");
spacecraft=new Spacecraft();
spacecraft.setId(id);
spacecraft.setName(name);
spacecraft.setPropellant(prop);
spacecraft.setDescription(desc);
spacecraft.setImageUrl(imageUrl);
spacecrafts.add(spacecraft);
}
return true;
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
}
public class Downloader extends AsyncTask<Void,Void,String> {
Context c;
String urlAddress;
GridView gv;
ProgressDialog pd;
public Downloader(Context c, String urlAddress, GridView gv) {
this.c = c;
this.urlAddress = urlAddress;
this.gv = gv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setTitle("Retrieve");
pd.setMessage("Retrieving..Please wait");
pd.show();
}
@Override
protected String doInBackground(Void... params) {
return this.downloadData();
}
@Override
protected void onPostExecute(String jsonData) {
super.onPostExecute(jsonData);
pd.dismiss();
if(jsonData==null)
{
Toast.makeText(c,"Unsuccessful,No Data Retrieved ",Toast.LENGTH_SHORT).show();
}else {
//PARSER
DataParser parser=new DataParser(c,jsonData,gv);
parser.execute();
}
}
private String downloadData()
{
HttpURLConnection con=Connector.connect(urlAddress);
if(con==null)
{
return null;
}
try
{
InputStream is=new BufferedInputStream(con.getInputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer jsonData=new StringBuffer();
while ((line=br.readLine()) !=null)
{
jsonData.append(line+"\n");
}
br.close();
is.close();
return jsonData.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public class execute {
}
}
public class CustomAdapter extends BaseAdapter {
Context c;
ArrayList<Spacecraft> spacecrafts;
public CustomAdapter(Context c, ArrayList<Spacecraft> spacecrafts) {
this.c = c;
this.spacecrafts = spacecrafts;
}
@Override
public int getCount() {
return spacecrafts.size();
}
@Override
public Object getItem(int position) {
return spacecrafts.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
{
convertView= LayoutInflater.from(c).inflate(R.layout.model,parent,false);
}
TextView nameTxt= (TextView) convertView.findViewById(R.id.nameTxt);
ImageView img= (ImageView) convertView.findViewById(R.id.spacecraftImage);
final Spacecraft s= (Spacecraft) this.getItem(position);
nameTxt.setText(s.getName());
PicassoClient.downloadImage(c, s.getImageUrl(), img);
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openDetailACtivity(s.getName(),s.getPropellant(),s.getDescription(),s.getImageUrl());
}
});
return convertView;
}
private void openDetailACtivity(String name,String propellant,String
description,String imageUrl)
{
Intent i=new Intent(c, DetailActivity.class);
//PACK DATA
i.putExtra("NAME_KEY",name);
i.putExtra("PROPELLANT_KEY",propellant);
i.putExtra("DESCRIPTION_KEY",description);
i.putExtra("IMAGEURL_KEY",imageUrl);
c.startActivity(i);
}
}
public class PicassoClient {
public static void downloadImage(Context c,String imageUrl,ImageView img)
{
if(imageUrl!=null && imageUrl.length()>0)
{
Picasso.with(c).load(imageUrl).placeholder(R.drawable.placeholder).into(img);
}else {
Picasso.with(c).load(R.drawable.placeholder).into(img);
}
}
}
public class DetailActivity extends AppCompatActivity {
TextView nameTxt,propTxt,descTxt;
//Initialize webservice URL
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
nameTxt= (TextView) findViewById(R.id.nameTxtDetail);
descTxt= (TextView) findViewById(R.id.descDetailTxt);
propTxt= (TextView) findViewById(R.id.propellantTxtDetail);
img= (ImageView) findViewById(R.id.spacecraftImageDetail);
//RECEIVE
Intent i=this.getIntent();
final String name=i.getExtras().getString("NAME_KEY");
String propellant=i.getExtras().getString("PROPELLANT_KEY");
String desc=i.getExtras().getString("DESCRIPTION_KEY");
String imageurl=i.getExtras().getString("IMAGEURL_KEY");
//BIND
nameTxt.setText(name);
propTxt.setText(propellant);
descTxt.setText(desc);
PicassoClient.downloadImage(this,imageurl,img);
}
}
主要内容
<?xml version="1.0" encoding="utf-8"?>
<SearchView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light" />
<GridView
android:id="@+id/gv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="49dp" />
</RelativeLayout>
1:首先创建包含searchView项的菜单,然后在MainActivity类中为该菜单充气
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:orderInCategory="100"
android:title="@string/action_search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" />
2:在MainActivity类中创建静态列表
公共类MainActivity扩展了AppCompatActivity{
静态字符串urlAddress=“服务器\ url”;
public static ArrayList list=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
//FloatingActionButton fab=(FloatingActionButton)findViewById(R.id.fab);
最终GridView gv=(GridView)findViewById(R.id.gv);
新的下载程序(MainActivity.this,urlAddress,gv).execute();
//通过list.addall()将解析数据列表添加到此静态列表中,然后将此列表传递给自定义适配器
CustomAdpater customAdapter=新的CustomAdpater(此,列表);
//然后将adapetr设置为gridview
}
}
在getcount()方法中添加此日志
然后在logcat中检查它
公共类CustomAdapter扩展了BaseAdapter{
上下文c;
ArrayList航天器;
公共CustomAdapter(上下文c、ArrayList spacecrafts){
这个.c=c;
这是宇宙飞船=宇宙飞船;
}
@凌驾
public int getCount(){
Log.d(“size”,“checksize:+spacecrafts.size());
返回航天器;
}
这个答案是不够的,它还需要java代码。同样,我也在寻找java代码功能。我添加了相应的所有内容,但没有任何内容可以正常工作。请帮助我检查适配器类中列表的大小!!列表项是否存在您是否已将parselist添加到MainAc中的staticlist中tivity类??正如我在第2步的评论中提到的那样,Spaverse.name表示什么??它向我显示了错误,当我更改getName()时,错误被清除。错误..它实际上是sapacecraft.getName()customAdapter.filter(或)customAdapter.flterResult??在适配器类中添加此函数,如步骤3@Sandycustomadapter.filter()中所述。您是否检查了适配器类中的列表大小??如何检查?添加此函数以检查您的列表大小@Sandy