如何使用ArrayList将JSON数据填充到ListView中

太阳

我已成功使用ArrayList将JSON数据解析为ListView,但是无法根据City名称填充List

就像我允许用户选择“城市”,然后我试图使用新的ArrayList将结果填充到ListView中一样,但没有将任何数据获取到ListView中。

public class TitleListActivity extends Activity {

  ....

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

    ......
    new JSONAsyncTask().execute("http://murl.com/json/citywise.json");  

    try {
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            value = extras.getString("new_variable_name");
            Toast.makeText(TitleListActivity.this, value, Toast.LENGTH_LONG).show(); 

            // not getting data city wise
            cityWiseSearch();
        }
        else
        {
            // getting all data
            adapter = new TitleListAdapter(TitleListActivity.this, R.layout.row, allArrayList);             
            listview.setAdapter(adapter); 
        }
    } catch (Exception e) {
        // TODO: handle exception
    }


    ....
}

class JSONAsyncTask extends AsyncTask<String, Void, Boolean> {

    ProgressDialog dialog;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }

    @Override
    protected Boolean doInBackground(String... urls) {
        try {

            ....

                JSONArray jarray = jsono.getJSONArray("cities");

                for (int i = 0; i < jarray.length(); i++) {
                    JSONObject object = jarray.getJSONObject(i);

                    destination = new TitleList();                      
                    destination.setTitle(object.getString("address"));                      
                    allArrayList.add(destination);

                ......

        return false;
    }

    protected void onPostExecute(Boolean result) {
        dialog.cancel();
        ....
    }
}

public void cityWiseSearch() {              

    for (int i = 0; i <allArrayList.size(); i++) {
        destination = (TitleList) allArrayList.get(i);

        String strStatuss = allArrayList.get(i).getCity();

        if (strStatuss.equalsIgnoreCase(value)){                
            cityArrayList.add(destination);         
        }                      
    }              

    adapter = new TitleListAdapter(TitleListActivity.this, R.layout.row, cityArrayList);        
    listview.setAdapter(adapter);

   }
 }
纳伦德拉·辛格(Narendra Singh)

放置您的setAdapter code inside onPostExecute并且您必须在获取内容时才需要获取city名称,title以便在cityWiseSearch()方法中比较城市名称

destination.setCity(object.getString("city")); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尝试将JSON数据填充到ListView中

如何使用 ImageView 将现有 sqlite 数据库中的数据填充到 ListView

如何使用 ajax 调用将 json 数据填充到图表中?

将JSON填充到Listview

使用适配器将Listview填充到Listview中

将多个数据填充到android listview中

如何检索json嵌套数组数据并填充到listview中?

从JSON响应解析数据并填充到listview

将JSON从SQL填充到Android Listview

如何将数据填充到Json模板

将数据从JSON填充到微调器中时出错

如何将JSON对象数据的值填充到选择框中?

如何将数据填充到FormGroup中?

如何使用python将列表中的信息填充到多个JSON对象中?

如何使用 reactJs 和 reactHooks 将数据存储并填充到 dataGrid 或 table 中?

Firebase 数据库使用 FirebaseUI 将子数据填充到 ListView

将json值填充到标记中

如何从 Firebase 数据库获取数据并将其填充到 ListView 中

将数据填充到Listview但Arrayadapter无法正常工作

如何使用awk脚本从文件中获取数据,然后将字段填充到其他文件中?

将JSON文件数据填充到Array中,然后将Array馈入mmenu插件

将数据填充到类

如何将数据填充到在 reactjs 中的表列 api 内呈现的下拉列表中

Rails6如何将数据库中的文本填充到ActionText中

使用请求正文将 JSON 数据从 spring mvc 填充到 d3 图表

使用带有restful api的json parsom将数据填充到列表视图中

如何使用Firebase中的数据填充ListView?

将树JSON数据填充到下拉框

将数组中的数据填充到html表中