我有一个Android应用程序,它从sqlite数据库中检索数据,并在扩展BaseAdapter的ListVIEw中显示这些数据.
在这个应用程序中我有可绘制文件夹中的图像,我在sqlite中有一个包含这些图像的名称的字段.
我的问题是如何检索这些数据并将其显示在ListVIEw中?
我读了这个教程:(http://www.androidhub4you.com/2012/09/hello-friends-today-i-am-going-to-share.html).
我的问题还有其他办法吗?
我将不胜感激任何帮助.
row_List_match_schedulle.xml
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:ID="@+ID/relativeLayout1" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical" > <TextVIEw androID:ID="@+ID/textGroup" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParentleft="true" androID:layout_alignParenttop="true" androID:text="Group" androID:textAppearance="?androID:attr/textAppearanceMedium" /> <TextVIEw androID:ID="@+ID/txtDate" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParenttop="true" androID:layout_centerHorizontal="true" androID:text="Date" androID:textAppearance="?androID:attr/textAppearanceSmall" /> <TextVIEw androID:ID="@+ID/textname1" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignBottom="@+ID/imageVIEw1" androID:layout_alignParentleft="true" androID:text="name1" /> <TextVIEw androID:ID="@+ID/textname2" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignBottom="@+ID/imageVIEw2" androID:layout_alignParentRight="true" androID:text="name2" /> <ImageVIEw androID:ID="@+ID/imageVIEw1" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_below="@+ID/textLocation" androID:layout_toRightOf="@+ID/textname1" androID:adjustVIEwBounds="true" androID:maxHeight="40dp" androID:maxWIDth="40dp" androID:scaleType="fitCenter" androID:src="@drawable/algeria_flag" /> <ImageVIEw androID:ID="@+ID/imageVIEw2" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_aligntop="@+ID/imageVIEw1" androID:layout_toleftOf="@+ID/textname2" androID:adjustVIEwBounds="true" androID:maxHeight="40dp" androID:maxWIDth="40dp" androID:scaleType="fitCenter" androID:src="@drawable/algeria_flag" /> <TextVIEw androID:ID="@+ID/textLocation" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_below="@+ID/textGroup" androID:layout_centerHorizontal="true" androID:layout_margintop="18dp" androID:text="Location" /></relativeLayout>
ItemDetails.java
package com.devleb.expandableListdemo3;public class ItemDetails { String stad_name; String team1; String team2; String match_date; String flags1; String flags2; String group; public String getStad_name() { return stad_name; } public voID setStad_name(String stad_name) { this.stad_name = stad_name; } public String getTeam1() { return team1; } public voID setTeam1(String team1) { this.team1 = team1; } public String getTeam2() { return team2; } public voID setTeam2(String team2) { this.team2 = team2; } public String getMatch_date() { return match_date; } public voID setMatch_date(String match_date) { this.match_date = match_date; } public String getFlags1() { return flags1; } public voID setFlags1(String flags1) { this.flags1 = flags1; } public String getFlags2() { return flags2; } public voID setFlags2(String flags2) { this.flags2 = flags2; } public String getGroup() { return group; } public voID setGroup(String group) { this.group = group; }}
这是我在BaseAdapter中直到现在所写的内容
CustomAdapterMatchSchedule.java
package com.devleb.expandableListdemo3;import java.util.ArrayList;import androID.content.Context;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import androID.Widget.BaseAdapter;import androID.Widget.TextVIEw;public class CustomAdapterMatchSchedule extends BaseAdapter { LayoutInflater layoutInflater; ArrayList<ItemDetails> itemdetailList; Context context; public CustomAdapterMatchSchedule(Context c, ArrayList<ItemDetails> listofItem){ this.context = c; itemdetailList = listofItem; } @OverrIDe public int getCount() { // Todo auto-generated method stub return itemdetailList.size(); } @OverrIDe public Object getItem(int position) { // Todo auto-generated method stub return itemdetailList.get(position); } @OverrIDe public long getItemID(int position) { // Todo auto-generated method stub return position; } @OverrIDe public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup arg2) { // Todo auto-generated method stub ItemDetails itemListDetails = itemdetailList.get(position); if(convertVIEw == null){ LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertVIEw = inflater.inflate(R.layout.row_List_match_schedule, null); } //Stad_name TextVIEw txtStadname = (TextVIEw)convertVIEw.findVIEwByID(R.ID.textLocation); txtStadname.setText(itemListDetails.getStad_name()); //team1 TextVIEw txtTeam1 = (TextVIEw)convertVIEw.findVIEwByID(R.ID.textname1); txtTeam1.setText(itemListDetails.getTeam1()); //team2 TextVIEw txtTeam2 = (TextVIEw)convertVIEw.findVIEwByID(R.ID.textname2); txtTeam2.setText(itemListDetails.getTeam2()); //flag1 TextVIEw txtflag1 = (TextVIEw)convertVIEw.findVIEwByID(R.ID.imageVIEw1); txtflag1.setText(itemListDetails.getTeam1()); //flag2 return null; }}
解决方法:
这是最合适的方式,特别是因为每个ListvIEw行包含很多项目.如果你想在一个被点击的行上获取项目,它就变成了一个步骤,不到10行代码.就我而言,这是最好的方式.不要担心,它也是我用的.
总结以上是内存溢出为你收集整理的我有Android应用程序从sqlite检索数据并在BaseAdapter中显示数据..什么是最好的方法?全部内容,希望文章能够帮你解决我有Android应用程序从sqlite检索数据并在BaseAdapter中显示数据..什么是最好的方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)