如何设置的ListView适配器 [英] How to Set ListView Adapter
本文介绍了如何设置的ListView适配器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要帮助,使列表视图适配器。下面是code请与roomid适配器都值名称。
JSONArray房= jsonObject.getJSONArray(房间);
的for(int i = 0; I< rooms.length();我++){
的JSONObject室= rooms.getJSONObject(ⅰ);
字符串名称= room.optString(房间);
串roomid = room.optString(roomid);
最后RoomModel章附表=新RoomModel();
sched.setName(名);
sched.setroomId(roomid);
CustomListViewValuesArr.add(附表);}
ListView控件=(ListView控件)findViewById(R.id.ChatlistView);
RoomModel.java
公共类RoomModel {
私人字符串名称,标识,roomid;公共字符串的getName(){
返回名称;
}公共无效setname可以(字符串名称){
this.name =名称;
}公共字符串的getId(){
返回ID;
}公共无效SETID(字符串ID){
this.id = ID;
}
公共字符串getroomId(){
返回roomid;
}公共无效setroomId(字符串roomid){
this.roomid = roomid;
}
}
解决方案
请尝试以下适配器......
公共类MyAdapter延伸BaseAdapter { 上下文CON;
ArrayList的<您的类型> mlist;
RoomModel章附表; 公共MyAdapter(上下文CON,ArrayList的<您的类型> mlist)
{
this.con = CON;
this.mlist = mlist; }
@覆盖
公众诠释的getCount(){
// TODO自动生成方法存根
返回mlist.length;
} @覆盖
公共对象的getItem(INT位置){
// TODO自动生成方法存根
返回mlist [位置]
} @覆盖
众长getItemId(INT位置){
// TODO自动生成方法存根
返回的位置;
} @覆盖
公共查看getView(INT位置,查看convertView,父母的ViewGroup){
// TODO自动生成方法存根 章附表= mlist.get(位置);
LayoutInflater吹气=(LayoutInflater)con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.your_layout,父母,假);
TextView的TV1 =(TextView中)convertView.findViewById(R.id.your_textview);
tv1.setText(sched.getId()); TextView中TV2 =(TextView中)convertView.findViewById(R.id.your_textview);
tv2.setText(sched.getName()); TextView的TV3 =(TextView中)convertView.findViewById(R.id.your_textview);
tv3.setText(sched.getroomId()); 返回convertView;
} }
和更改以下code。
JSONArray房= jsonObject.getJSONArray(房间);
的for(int i = 0; I< rooms.length();我++){
的JSONObject室= rooms.getJSONObject(ⅰ);
字符串名称= room.optString(房间);
串roomid = room.optString(roomid);
最后RoomModel章附表=新RoomModel();
sched.setName(名);
sched.setroomId(roomid);
CustomListViewValuesArr.add(附表);}
ListView控件=(ListView控件)findViewById(R.id.ChatlistView);
MyAdapter适配器=新MyAdapter(这一点,CustomListViewValuesArr);
listView.setAdapter(适配器);
I need help to make listview adapter. Below is code please make the adapter both value name with roomid.
JSONArray rooms = jsonObject.getJSONArray("rooms");
for (int i = 0; i < rooms.length(); i++) {
JSONObject room = rooms.getJSONObject(i);
String name = room.optString("room");
String roomid = room.optString("roomid");
final RoomModel sched = new RoomModel();
sched.setName(name);
sched.setroomId(roomid);
CustomListViewValuesArr.add(sched);}
listView = (ListView) findViewById(R.id.ChatlistView);
RoomModel.java
public class RoomModel {
private String name, id, roomid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getroomId() {
return roomid;
}
public void setroomId(String roomid) {
this.roomid = roomid;
}
}
解决方案
try the following Adapter......
public class MyAdapter extends BaseAdapter {
Context con;
ArrayList<your type> mlist;
RoomModel sched;
public MyAdapter(Context con,ArrayList<your type> mlist )
{
this.con=con;
this.mlist=mlist;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mlist.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mlist[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
sched=mlist.get(position);
LayoutInflater inflater=(LayoutInflater)con.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView=inflater.inflate(R.layout.your_layout,parent,false);
TextView tv1=(TextView)convertView.findViewById(R.id.your_textview);
tv1.setText(sched.getId());
TextView tv2=(TextView)convertView.findViewById(R.id.your_textview);
tv2.setText(sched.getName());
TextView tv3=(TextView)convertView.findViewById(R.id.your_textview);
tv3.setText(sched.getroomId());
return convertView;
}
}
and change the following code.
JSONArray rooms = jsonObject.getJSONArray("rooms");
for (int i = 0; i < rooms.length(); i++) {
JSONObject room = rooms.getJSONObject(i);
String name = room.optString("room");
String roomid = room.optString("roomid");
final RoomModel sched = new RoomModel();
sched.setName(name);
sched.setroomId(roomid);
CustomListViewValuesArr.add(sched);}
listView = (ListView) findViewById(R.id.ChatlistView);
MyAdapter adapter=new MyAdapter(this,CustomListViewValuesArr);
listView.setAdapter(adapter);
这篇关于如何设置的ListView适配器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文