Php 在Android listview中填充后搜索json结果
我有一个listview和search edittext的活动。我正在将一些数据从php解析到我的listview。 我的序言是,如果我在edittext中键入一些文本,它将不起任何作用。 我找到了一些教程,但总是没有json解析 My DisplayListView.java(onCreate)Php 在Android listview中填充后搜索json结果,php,android,json,listview,search,Php,Android,Json,Listview,Search,我有一个listview和search edittext的活动。我正在将一些数据从php解析到我的listview。 我的序言是,如果我在edittext中键入一些文本,它将不起任何作用。 我找到了一些教程,但总是没有json解析 My DisplayListView.java(onCreate) @覆盖 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.lay
@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.display\u listview\u layout);
listView=(listView)findViewById(R.id.listView);
main_uploadsAdapter=新的main_uploadsAdapter(这个,R.layout.row_布局);
setAdapter(主上传适配器);
inputSearch=(EditText)findViewById(R.id.et_search);
json_string=getIntent().getExtras().getString(“json_数据”);
试一试{
jsonObject=新的jsonObject(json_字符串);
jsonArray=jsonObject.getJSONArray(“结果”);
整数计数=0;
字符串userpic,上传器,主题,主题,pdf;
而(countAdd notifydatasetchanged onTextChanged
main_uploadsAdapter.getFilter().filter(cs)
main_uploadsAdapter.notifydatasetchanged();在不覆盖getCount()和getItem()的情况下进行尝试。希望能有所帮助!现在,如果我在main_uploads类中搜索s.th.Try以覆盖toString(),我会得到一个空白的列表视图返回一个字符串,将所有字符串字段添加到一起。如果这不起作用,则需要实现一个客户筛选器。我有一个关于ListView的博客,其中的示例包含客户筛选器:希望有帮助!您能解释如何做吗?在main_uploads.class add:@Override public String toString()中{返回userpic+uploader+subject+topic+pdf;}否则请显示您的主上传类。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.display_listview_layout);
listView= (ListView) findViewById(R.id.listview);
main_uploadsAdapter =new main_uploadsAdapter(this,R.layout.row_layout);
listView.setAdapter(main_uploadsAdapter);
inputSearch = (EditText) findViewById(R.id.et_search);
json_string =getIntent().getExtras().getString("json_data");
try {
jsonObject=new JSONObject(json_string);
jsonArray = jsonObject.getJSONArray("result");
int count=0;
String userpic, uploader, subject, topic, pdf;
while (count<jsonArray.length()){
JSONObject JO =jsonArray.getJSONObject(count);
userpic =JO.getString("userpic");
uploader =JO.getString("uploader");
subject =JO.getString("subject");
topic =JO.getString("topic");
pdf =JO.getString("pdf");
final main_uploads main_uploads =new main_uploads(userpic,uploader,subject,topic,pdf);
main_uploadsAdapter.add(main_uploads);
count++;
}
} catch (JSONException e) {
e.printStackTrace();
}
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
main_uploadsAdapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
}
public class main_uploadsAdapter extends ArrayAdapter {
private Context context;
List list = new ArrayList<>();
String userpic;
public main_uploadsAdapter(@NonNull Context context, @LayoutRes int resource) {
super(context, resource);
}
public void add(main_uploads object) {
super.add(object);
list.add(object);
}
@Override
public int getCount() {
return list.size();
}
@Nullable
@Override
public Object getItem(int position) {
return list.get(position);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View row;
row =convertView;
UploadsHolder uploadsHolder;
if (row==null){
LayoutInflater layoutInflater = (LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row =layoutInflater.inflate(R.layout.row_layout,parent,false);
uploadsHolder =new UploadsHolder();
uploadsHolder.h_tv_userpic = userpic;
uploadsHolder.h_tv_uploader = row.findViewById(R.id.tv_uploader);
uploadsHolder.h_tv_subject = row.findViewById(R.id.tv_subject);
uploadsHolder.h_tv_topic = row.findViewById(R.id.tv_topic);
uploadsHolder.h_iv_userpic = row.findViewById(R.id.iv_userpic);
uploadsHolder.h_iv_subject = row.findViewById(R.id.iv_subject);
row.setTag(uploadsHolder);
}else {
uploadsHolder = (UploadsHolder) row.getTag();
}
final main_uploads main_uploads = (de.lauviktor.viktor.cbm.main_uploads) this.getItem(position);
uploadsHolder.h_tv_userpic = (main_uploads.getUserpic());
uploadsHolder.h_tv_uploader.setText(main_uploads.getUploader());
uploadsHolder.h_tv_subject.setText(main_uploads.getSubject());
uploadsHolder.h_tv_topic.setText(main_uploads.getTopic());
if (main_uploads.getSubject().equals("AE")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.ae);
}else if (main_uploads.getSubject().equals("BN")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.bn);
}else if (main_uploads.getSubject().equals("E")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.e);
}else if (main_uploads.getSubject().equals("EP")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.ep);
}else if (main_uploads.getSubject().equals("ER")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.er);
}else if (main_uploads.getSubject().equals("DB")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.db);
}else if (main_uploads.getSubject().equals("DK")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.de);
}else if (main_uploads.getSubject().equals("M")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.m);
}else if (main_uploads.getSubject().equals("RS")){
uploadsHolder.h_iv_subject.setImageResource(R.drawable.rs);
}else if (main_uploads.getSubject().equals("WBL")) {
uploadsHolder.h_iv_subject.setImageResource(R.drawable.wbl);
}
uploadsHolder.h_iv_subject.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse(global_variables.server_url+global_variables.server_download_pdf+main_uploads.getPdf()));
v.getContext().startActivity(intent);
}
});
return row;
}
static class UploadsHolder
{
String h_tv_userpic;
TextView h_tv_uploader;
TextView h_tv_subject;
TextView h_tv_topic;
ImageView h_iv_userpic;
ImageView h_iv_subject;
}