您现在的位置是:首页 > 电脑 > 

计算JSO数组中的元素数量,并在Textview

2025-07-26 09:36:40
计算JSO数组中的元素数量,并在Textview - Android上显示结果(Count number of elements in a JSO Array, and display the result on Textview - Android) 我想计算通过JSO数组获得的元素数量,并使用.settext()方法在TextView上显示它。 我得到
计算JSO数组中的元素数量,并在Textview - Android上显示结果(Count number of elements in a JSO Array, and display the result on Textview - Android)

我想计算通过JSO数组获得的元素数量,并使用.settext()方法在TextView上显示它。 我得到以下JSO ARRAY:

{ "result": [ { "id":"28", "fullname":"shyam", "contactno":"898888888", "collegename":"mjc", "emailaddress":"shyamzawar", "eventname":"gaming" }, { "id":"285", "fullname":"ffca", "contactno":"8888888888", "collegename":"Brihan maharashtra College of Commerce (BMCC)", "emailaddress":"shyamzawar@", "eventname":"FootBall" } ] }

以下是我的活动:

private static final String TAG = "userList"; private List<FeedItem> feedsList; private RecyclerView mRecyclerView; private MyRecyclerAdapter adapter; private ProgressBar progressBar; private TextView ParticipantsCounts; int count=0; private SwipeRefreshLayout swipeRefreshLayout; private final String url="http://bmcctroika./get-data.php";; private int offSet = 0; @Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState); setContentView(R.layout.activity_admin); // Initialize recycler view mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); progressBar = (ProgressBar) findViewById(R.id.progress_bar); progressBar.setVisibility(View.VISIBLE); ParticipantsCounts= (TextView) findViewById(R.id.ParticipantsCount); // Downloading data from below url new AsyncHttpTask().execute(url); swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { refreshitems(); } }); } private void refreshitems() { new AsyncHttpTask().execute(url); } @Override public void onRefresh() { new AsyncHttpTask().execute(url); } public class AsyncHttpTask extends AsyncTask<String, Void, Integer> { @Override protected void onPreExecute() { setProgressBarIndeterminateVisibility(true); } @Override protected Integer doInBackground(String... params) { Integer result = 0; HttpURLConnection urlConnection; try { URL url = new URL(params[0]); urlConnection = (HttpURLConnection) (); int statusCode = urlConnection.getRespeCode(); // 200 represents HTTP OK if (statusCode == 200) { BufferedReader r = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); StringBuilder respe = new StringBuilder(); String line; while ((line = r.readLine()) != null) { respe.append(line); } parseResult(()); result = 1; // Successful } else { result = 0; //"Failed to fetch data!"; } } catch (Exception e) { Log.d(TAG, e.getLocalizedMessage()); } return result; //"Failed to fetch data!"; } @Override protected void onPostExecute(Integer result) { // Download complete. progressBar.setVisibility(View.GOE); if (result == 1) { adapter = new MyRecyclerAdapter(, feedsList); mRecyclerView.setAdapter(adapter); } else { (, "Failed to fetch data!", Toast.LEGTH_SHORT).show(); } swipeRefreshLayout.setRefreshing(false); } } private void parseResult(String result) { try { JSOObject respe = new JSOObject(result); JSOArray posts = ("result"); feedsList = new ArrayList<>(); for (int i = 0; i < posts.length(); i++) { JSOObject post = (i); FeedItem item = new FeedItem(); item.setTitle(("fullname")); item.setContact(("contactno")); item.setEmail(("emailaddress")); item.setEventname(("eventname")); item.setCollegename(("collegename")); feedsList.add(item); } } catch (JSOException e) { e.printStackTrace(); } } }

I want to count the number of elements I am getting through the JSO array, and display it over the TextView using .settext() method. I am getting the following JSO ARRAY :

{ "result": [ { "id":"28", "fullname":"shyam", "contactno":"898888888", "collegename":"mjc", "emailaddress":"shyamzawar", "eventname":"gaming" }, { "id":"285", "fullname":"ffca", "contactno":"8888888888", "collegename":"Brihan maharashtra College of Commerce (BMCC)", "emailaddress":"shyamzawar@", "eventname":"FootBall" } ] }

Below is my activity :

private static final String TAG = "userList"; private List<FeedItem> feedsList; private RecyclerView mRecyclerView; private MyRecyclerAdapter adapter; private ProgressBar progressBar; private TextView ParticipantsCounts; int count=0; private SwipeRefreshLayout swipeRefreshLayout; private final String url="http://bmcctroika./get-data.php";; private int offSet = 0; @Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState); setContentView(R.layout.activity_admin); // Initialize recycler view mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); progressBar = (ProgressBar) findViewById(R.id.progress_bar); progressBar.setVisibility(View.VISIBLE); ParticipantsCounts= (TextView) findViewById(R.id.ParticipantsCount); // Downloading data from below url new AsyncHttpTask().execute(url); swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { refreshitems(); } }); } private void refreshitems() { new AsyncHttpTask().execute(url); } @Override public void onRefresh() { new AsyncHttpTask().execute(url); } public class AsyncHttpTask extends AsyncTask<String, Void, Integer> { @Override protected void onPreExecute() { setProgressBarIndeterminateVisibility(true); } @Override protected Integer doInBackground(String... params) { Integer result = 0; HttpURLConnection urlConnection; try { URL url = new URL(params[0]); urlConnection = (HttpURLConnection) (); int statusCode = urlConnection.getRespeCode(); // 200 represents HTTP OK if (statusCode == 200) { BufferedReader r = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); StringBuilder respe = new StringBuilder(); String line; while ((line = r.readLine()) != null) { respe.append(line); } parseResult(()); result = 1; // Successful } else { result = 0; //"Failed to fetch data!"; } } catch (Exception e) { Log.d(TAG, e.getLocalizedMessage()); } return result; //"Failed to fetch data!"; } @Override protected void onPostExecute(Integer result) { // Download complete. progressBar.setVisibility(View.GOE); if (result == 1) { adapter = new MyRecyclerAdapter(, feedsList); mRecyclerView.setAdapter(adapter); } else { (, "Failed to fetch data!", Toast.LEGTH_SHORT).show(); } swipeRefreshLayout.setRefreshing(false); } } private void parseResult(String result) { try { JSOObject respe = new JSOObject(result); JSOArray posts = ("result"); feedsList = new ArrayList<>(); for (int i = 0; i < posts.length(); i++) { JSOObject post = (i); FeedItem item = new FeedItem(); item.setTitle(("fullname")); item.setContact(("contactno")); item.setEmail(("emailaddress")); item.setEventname(("eventname")); item.setCollegename(("collegename")); feedsList.add(item); } } catch (JSOException e) { e.printStackTrace(); } } }

最满意答案

你需要得到result JSOArray的lenght 。 所以在你的代码中,你可以获得posts的长度 - JSOArray posts = ("result"); 。 这将为您提供结果数组中的项数:

private void parseResult(String result) { try { JSOObject respe = new JSOObject(result); JSOArray posts = ("result"); int number = posts.length(); //then to set it to the text view: ParticipantsCounts.setText(String.valueOf(number)); //the rest of your code ... feedsList = new ArrayList<>(); for (int i = 0; i < posts.length(); i++) { JSOObject post = (i); FeedItem item = new FeedItem(); item.setTitle(("fullname")); item.setContact(("contactno")); item.setEmail(("emailaddress")); item.setEventname(("eventname")); item.setCollegename(("collegename")); feedsList.add(item); } } catch (JSOException e) { e.printStackTrace(); } }

You need to get the lenght of the result JSOArray. So in your code, you can get the length of posts -- JSOArray posts = ("result");. This will give you the number of items in the result array:

private void parseResult(String result) { try { JSOObject respe = new JSOObject(result); JSOArray posts = ("result"); int number = posts.length(); //then to set it to the text view: ParticipantsCounts.setText(String.valueOf(number)); //the rest of your code ... feedsList = new ArrayList<>(); for (int i = 0; i < posts.length(); i++) { JSOObject post = (i); FeedItem item = new FeedItem(); item.setTitle(("fullname")); item.setContact(("contactno")); item.setEmail(("emailaddress")); item.setEventname(("eventname")); item.setCollegename(("collegename")); feedsList.add(item); } } catch (JSOException e) { e.printStackTrace(); } }

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/654029.html

相关标签:无
上传时间: 2023-07-28 12:48:23
留言与评论(共有 5 条评论)
本站网友 兰州房地产
2分钟前 发表
[ { "id"
本站网友 逸夫楼
7分钟前 发表
Toast.LEGTH_SHORT).show(); } swipeRefreshLayout.setRefreshing(false); } } private void parseResult(String result) { try { JSOObject respe = new JSOObject(result); JSOArray posts = ("result"); feedsList = new ArrayList<>(); for (int i = 0; i < posts.length(); i++) { JSOObject post = (i); FeedItem item = new FeedItem(); item.setTitle(("fullname")); item.setContact(("contactno")); item.setEmail(("emailaddress")); item.setEventname(("eventname")); item.setCollegename(("collegename")); feedsList.add(item); } } catch (JSOException e) { e.printStackTrace(); } } } I want to count the number of elements I am getting through the JSO array
本站网友 迅疾如风
9分钟前 发表
"emailaddress"
本站网友 一种生活
19分钟前 发表
{ "id"