{"id":15058,"date":"2022-10-10T06:35:13","date_gmt":"2022-10-10T01:05:13","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/"},"modified":"2022-10-10T06:35:13","modified_gmt":"2022-10-10T01:05:13","slug":"solved-how-to-filter-a-list-of-objects-in-android","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/","title":{"rendered":"[Solved] How to filter a List of objects in Android"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-34318017\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"34318017\" data-parentid=\"34271311\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You should be able to perform all the steps weston mentioned in his answer, otherwise, I&#8217;m afraid me just giving you the code won&#8217;t teach you very much. <\/p>\n<p>Instead, I will provide you the pieces mentioned in the other answer. <\/p>\n<blockquote>\n<p>You want a class that represents the course, with name and points fields<\/p>\n<\/blockquote>\n<p>This is a simple model class. An introduction to Java course teaches these. <\/p>\n<pre><code>public class Course {\n\n    private String name;\n    private int points;\n\n    public Course(String name, int points) {\n        this.name = name;\n        this.points = points;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public int getPoints() {\n        return points;\n    }\n\n    @Override\n    public String toString() {\n        return getName();\n    }\n}\n<\/code><\/pre>\n<blockquote>\n<p>A list that contains the instances of these courses<\/p>\n<\/blockquote>\n<p>You just have Strings, not points listed in your code, so how did you expect to use numbers to filter the courses? Here is an example of the sample courses you listed as an array. <\/p>\n<pre><code>Course[] courses = new Course[]{\n        new Course(\"Medicine\", 30),\n        new Course(\"Physics\", 28),\n        new Course(\"Math\", 24),\n        new Course(\"English\", 20)\n};\n<\/code><\/pre>\n<blockquote>\n<p>You need an activity that includes a text box for student to enter number into<\/p>\n<\/blockquote>\n<p>This requires you to write some XML, which you have already done in <code>event2icon.xml<\/code>. I suggest you add a <code>Button<\/code>, though because hitting Enter within the <code>EditText<\/code> this will insert a newline. You could also accept only numbers while you are creating this. Here is the full XML I suggest. <\/p>\n<pre><code>&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n              android:layout_width=\"match_parent\"\n              android:layout_height=\"match_parent\"\n              android:orientation=\"vertical\"&gt;\n\n    &lt;LinearLayout android:layout_width=\"match_parent\"\n                  android:layout_height=\"wrap_content\"\n                  android:orientation=\"horizontal\"&gt;\n        &lt;EditText\n                android:layout_width=\"0dp\"\n                android:layout_weight=\"1\"\n                android:maxLines=\"1\"\n                android:inputType=\"number\"\n                android:layout_height=\"wrap_content\"\n                android:hint=\"Enter your points\"\n                android:id=\"@+id\/editText\"\/&gt;\n        &lt;Button\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Search\"\n                android:id=\"@+id\/btn_search\"\/&gt;\n    &lt;\/LinearLayout&gt;\n\n    &lt;ListView\n            android:id=\"@+id\/courseNames\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\/&gt;\n&lt;\/LinearLayout&gt;\n<\/code><\/pre>\n<blockquote>\n<p>You need to parse the text to an integer<\/p>\n<\/blockquote>\n<p>You know how to do this &#8211; the question, though is <em>when<\/em> do you do this? The code you posted immediately gets the text out of the <code>EditText<\/code> as soon as the Activity is loaded, which will be empty. You should instead extract the text from the <code>EditText<\/code> when you click the button. This will get you started. <\/p>\n<pre><code>Button searchButton = (Button) findViewById(R.id.btn_search);\nsearchButton.setOnClickListener(new View.OnClickListener() {\n    @Override\n    public void onClick(View view) {\n<\/code><\/pre>\n<blockquote>\n<p>You need to iterate over list you defined. And by using the less than or equal operator &lt;=, you&#8217;ll find the courses you need<\/p>\n<\/blockquote>\n<p>This is just a simple for-each loop over the Courses array you have defined. Once you have found the Course object, add it to the adapter. You should also be aware that you&#8217;ll need to convert the <code>Course[]<\/code> to a <code>List&lt;Course&gt;<\/code> in order to do this, otherwise you&#8217;ll get an error. <\/p>\n<pre><code>List&lt;Course&gt; courseList = new ArrayList&lt;Course&gt;(Arrays.asList(courses));\n\/\/ initialize the adapter with courseList instead of courses \nfinal ArrayAdapter&lt;Course&gt; adapter = new ArrayAdapter&lt;Course&gt;(this, android.R.layout.simple_list_item_1, courseList);\n\n\/\/ this code inside the Button's onClick\nint points = Integer.parseInt(editText.getText().toString());\nfor (Course c : courses) {\n    if (c.getPoints() &lt;= points) {\n        adapter.add(c);\n    }\n}\n<\/code><\/pre>\n<blockquote>\n<p>Use a ListAdapter to display the list nicely<\/p>\n<\/blockquote>\n<p>You already have an <code>ArrayAdapter<\/code>, so you are good here. One last detail, though, is that when you click the <code>Button<\/code>, you should first <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/developer.android.com\/intl\/es\/reference\/android\/widget\/ArrayAdapter.html#clear()\"><code>clear<\/code><\/a> the adapter before adding courses back into it. Otherwise, you&#8217;ll get duplicates.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">5<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to filter a List of objects in Android <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You should be able to perform all the steps weston mentioned in his answer, otherwise, I&#8217;m afraid me just giving you the code won&#8217;t teach you very much. Instead, I will provide you the pieces mentioned in the other answer. You want a class that represents the course, with name and points fields This &#8230; <a title=\"[Solved] How to filter a List of objects in Android\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/\" aria-label=\"More on [Solved] How to filter a List of objects in Android\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[452,323,3915],"class_list":["post-15058","post","type-post","status-publish","format-standard","hentry","category-solved","tag-android","tag-java","tag-listadapter"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] How to filter a List of objects in Android - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to filter a List of objects in Android - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You should be able to perform all the steps weston mentioned in his answer, otherwise, I&#8217;m afraid me just giving you the code won&#8217;t teach you very much. Instead, I will provide you the pieces mentioned in the other answer. You want a class that represents the course, with name and points fields This ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-10T01:05:13+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to filter a List of objects in Android\",\"datePublished\":\"2022-10-10T01:05:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/\"},\"wordCount\":380,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"android\",\"java\",\"listadapter\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/\",\"name\":\"[Solved] How to filter a List of objects in Android - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-10-10T01:05:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-how-to-filter-a-list-of-objects-in-android\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to filter a List of objects in Android\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to filter a List of objects in Android - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to filter a List of objects in Android - JassWeb","og_description":"[ad_1] You should be able to perform all the steps weston mentioned in his answer, otherwise, I&#8217;m afraid me just giving you the code won&#8217;t teach you very much. Instead, I will provide you the pieces mentioned in the other answer. You want a class that represents the course, with name and points fields This ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/","og_site_name":"JassWeb","article_published_time":"2022-10-10T01:05:13+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to filter a List of objects in Android","datePublished":"2022-10-10T01:05:13+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/"},"wordCount":380,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["android","java","listadapter"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/","name":"[Solved] How to filter a List of objects in Android - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-10T01:05:13+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-filter-a-list-of-objects-in-android\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to filter a List of objects in Android"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=15058"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/15058\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=15058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=15058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=15058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}