Android Baseadapter Usage
Last Update:2016-11-12
Source: Internet
Author: User
<span id="Label3"></p><p style="text-align: center"><p style="text-align: center">Baseadapter Adapter</p></p><pre><span style="color: #000000"><span style="color: #000000">Baseadapter is an abstract class, so to write its own adapter, the segment inherits this class and implements the following methods:<br>@Override<br></span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span> <span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">GetCount () {</span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span>0<span style="color: #000000"><span style="color: #000000">;}<br>@Override<br><br></span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span>Object GetItem (<span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">Position) { </span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span> <span style="color: #0000ff"><span style="color: #0000ff">NULL</span></span><span style="color: #000000"><span style="color: #000000">;}<br>@Override<br><br></span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span> <span style="color: #0000ff"><span style="color: #0000ff">Long</span></span>Getitemid (<span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">Position) { </span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span>0<span style="color: #000000"><span style="color: #000000">;}<br>@Override<br></span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span>View GetView (<span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">position, View convertview, viewgroup Parent) { </span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span> <span style="color: #0000ff"><span style="color: #0000ff">NULL</span></span><span style="color: #000000"><span style="color: #000000">;}</span></span></pre><p><p>Demo:</p></p><p><p>Description: use Listview,baseadapter to realize multiple user information display, different gender images according to the user's Nature (e.g.)</p></p><p><p></p></p><p><p>The code is as Follows:</p></p><pre><span style="color: #000000"><span style="color: #000000">main interface Layout file: Activity_main</span></span><?xml version= "1.0" encoding= "utf-8"? ><relativelayout xmlns:android= "http://schemas.android.com/apk/res/android"<span style="color: #000000"><span style="color: #000000">Xmlns:tools</span></span>= "http://schemas.android.com/tools"<span style="color: #000000"><span style="color: #000000">Android:id</span></span>= "@+id/activity_main"<span style="color: #000000"><span style="color: #000000">Android:layout_width</span></span>= "match_parent"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "match_parent"<span style="color: #000000"><span style="color: #000000">Android:paddingbottom</span></span>= "@dimen/activity_vertical_margin"<span style="color: #000000"><span style="color: #000000">Android:paddingleft</span></span>= "@dimen/activity_horizontal_margin"<span style="color: #000000"><span style="color: #000000">Android:paddingright</span></span>= "@dimen/activity_horizontal_margin"<span style="color: #000000"><span style="color: #000000">Android:paddingtop</span></span>= "@dimen/activity_vertical_margin"<span style="color: #000000"><span style="color: #000000">Tools:context</span></span>= "com.zy.baseadapter.MainActivity" > <<span style="color: #000000"><span style="color: #000000">ListView Android:id</span></span>= "@+id/user_list_view"<span style="color: #000000"><span style="color: #000000">Android:layout_width</span></span>= "match_parent"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "match_parent" > </ListView></RelativeLayout></pre><p><p></p></p><pre><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">item_user.xml Layout File</span></span><?xml version= "1.0" encoding= "utf-8"? ><linearlayout xmlns:android= "http://schemas.android.com/apk/res/android"<span style="color: #000000"><span style="color: #000000">android:orientation</span></span>= "vertical" android:layout_width= "match_parent"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "match_parent" > <<span style="color: #000000"><span style="color: #000000">ImageView Android:scaletype</span></span>= "centerinside"<span style="color: #000000"><span style="color: #000000">Android:id</span></span>= "@+id/iv_user_img"<span style="color: #000000"><span style="color: #000000">Android:layout_width</span></span>= "60dp"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "60dp"/> <<span style="color: #000000"><span style="color: #000000">TextView Android:id</span></span>= "@+id/tv_user_name"<span style="color: #000000"><span style="color: #000000">Android:layout_width</span></span>= "wrap_content"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "wrap_content"/> <<span style="color: #000000"><span style="color: #000000">TextView Android:id</span></span>= "@+id/tv_user_age"<span style="color: #000000"><span style="color: #000000">Android:layout_width</span></span>= "wrap_content"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "wrap_content"/> <<span style="color: #000000"><span style="color: #000000">TextView Android:id</span></span>= "@+id/tv_user_sex"<span style="color: #000000"><span style="color: #000000">Android:layout_width</span></span>= "wrap_content"<span style="color: #000000"><span style="color: #000000">Android:layout_height</span></span>= "wrap_content"/></linearlayout></pre><p><p>Picture file</p></p><p><p></p></p><p><p></p></p><p><p></p></p><pre><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span> <span style="color: #0000ff"><span style="color: #0000ff">class</span></span>Mainactivity<span style="color: #0000ff"><span style="color: #0000ff">extends</span></span><span style="color: #000000"><span style="color: #000000">appcompatactivity {List</span></span><UserInfo> Userinfos =<span style="color: #0000ff"><span style="color: #0000ff">New</span></span>Arraylist<><span style="color: #000000"><span style="color: #000000">(); @Override</span></span><span style="color: #0000ff"><span style="color: #0000ff">protected</span></span> <span style="color: #0000ff"><span style="color: #0000ff">void</span></span><span style="color: #000000"><span style="color: #000000">onCreate (Bundle Savedinstancestate) {</span></span><span style="color: #0000ff"><span style="color: #0000ff">Super</span></span><span style="color: #000000"><span style="color: #000000">. OnCreate (savedinstancestate); Setcontentview (r.layout.activity_main); </span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">User Data</span></span> <span style="color: #0000ff"><span style="color: #0000ff"></span> for</span>(<span style="color: #0000ff"><span style="color: #0000ff">int</span></span>i = 0;i < 30;i++<span style="color: #000000"><span style="color: #000000">) {UserInfo UserInfo</span></span>=<span style="color: #0000ff"><span style="color: #0000ff">New</span></span><span style="color: #000000"><span style="color: #000000">UserInfo (); Userinfo.username</span></span>= "zhang" +<span style="color: #000000"><span style="color: #000000">i; Userinfo.userage</span></span>=<span style="color: #000000"><span style="color: #000000">i; Userinfo.usersex</span></span>= i%2 = = 0? " Male ":" Female "<span style="color: #000000"><span style="color: #000000">; Userinfos.add (userInfo); }</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">ListView</span></span>ListView ListView =<span style="color: #000000"><span style="color: #000000">(ListView) Findviewbyid (r.id.user_list_view); </span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">instantiate an adapter</span></span>Userinfolistadapter Userinfolistadapter =<span style="color: #0000ff"><span style="color: #0000ff">New</span></span><span style="color: #000000"><span style="color: #000000">Userinfolistadapter (); Listview.setadapter (userinfolistadapter); }</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">Click on the screen to jump to the second activity (click Event)</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">@Override</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000">public <span style="color: #008000">Boolean ontouchevent (motionevent event) {</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">int action = event.getaction ();</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">if (action = = Motionevent.action_down) {</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">Intent Intent = new Intent (this,menuactiviy.class);</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">startactivity (intent);</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000"> }</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000">return false;</span></span><span style="color: #008000"><span style="color: #008000">//</span></span><span style="color: #008000"><span style="color: #008000"> }</span></span> <span style="color: #0000ff"><span style="color: #0000ff">class</span></span>Userinfolistadapter<span style="color: #0000ff"><span style="color: #0000ff">extends</span></span><span style="color: #000000"><span style="color: #000000">Baseadapter{@Override</span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span> <span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">GetCount () {</span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span><span style="color: #000000"><span style="color: #000000">userinfos.size (); } @Override</span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span>Object GetItem (<span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">Position) { </span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span><span style="color: #000000"><span style="color: #000000">Userinfos.get (position); } @Override</span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span> <span style="color: #0000ff"><span style="color: #0000ff">Long</span></span>Getitemid (<span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">Position) { </span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span><span style="color: #000000"><span style="color: #000000">position; } @Override</span></span><span style="color: #0000ff"><span style="color: #0000ff"></span> public</span>View GetView (<span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">position, View convertview, viewgroup Parent) {View Itemrootview</span></span>= Layoutinflater.from (parent.getcontext ()). Inflate (r.layout.item_user,<span style="color: #0000ff"><span style="color: #0000ff">NULL</span></span><span style="color: #000000"><span style="color: #000000">); TextView Usernameview</span></span>=<span style="color: #000000"><span style="color: #000000">(TextView) Itemrootview.findviewbyid (r.id.tv_user_name); Usernameview.settext (userinfos.get (position). userName); TextView Userageview</span></span>=<span style="color: #000000"><span style="color: #000000">(TextView) Itemrootview.findviewbyid (r.id.tv_user_age); Userageview.settext (userinfos.get (position). userage</span></span>+ ""<span style="color: #000000"><span style="color: #000000">); TextView Usersexview</span></span>=<span style="color: #000000"><span style="color: #000000">(TextView) Itemrootview.findviewbyid (r.id.tv_user_sex); Usersexview.settext (userinfos.get (position). usersex); ImageView ImageView</span></span>=<span style="color: #000000"><span style="color: #000000">(ImageView) Itemrootview.findviewbyid (r.id.iv_user_img); </span></span><span style="color: #0000ff"><span style="color: #0000ff">if</span></span>(userinfos.get (position). usersex.equals ("male"<span style="color: #000000">) <span style="color: #000000">{imageview.setbackgroundresource (r.drawable.man); }</span></span><span style="color: #0000ff"><span style="color: #0000ff">Else</span></span> <span style="color: #0000ff"><span style="color: #0000ff">if</span></span>(userinfos.get (position). usersex.equals ("woman")<span style="color: #000000">) <span style="color: #000000">{imageview.setbackgroundresource (r.drawable.woman); } </span></span><span style="color: #0000ff"><span style="color: #0000ff">return</span></span><span style="color: #000000"><span style="color: #000000">itemrootview; } } </span></span><span style="color: #0000ff"><span style="color: #0000ff">class</span></span><span style="color: #000000"><span style="color: #000000">userinfo{</span></span><span style="color: #0000ff"><span style="color: #0000ff">Private</span></span><span style="color: #000000"><span style="color: #000000">String userName; </span></span><span style="color: #0000ff"><span style="color: #0000ff">Private</span></span> <span style="color: #0000ff"><span style="color: #0000ff">int</span></span><span style="color: #000000"><span style="color: #000000">userage; </span></span><span style="color: #0000ff"><span style="color: #0000ff">Private</span></span><span style="color: #000000"><span style="color: #000000">String usersex; }}</span></span></pre><p><p></p></p><p><p>Android Baseadapter Usage</p></p></span>