展会信息港展会大全

Android动态刷新listview中的数据
来源:互联网   发布日期:2015-11-26 10:22:10   浏览:3536次  

导读:代码如下: 1.TestAdapterpackage com.TestAdapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.......

代码如下:

1.TestAdapter

package com.TestAdapter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.AbsListView.OnScrollListener;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.AbsListView;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import android.widget.TextView;

import android.widget.Toast;

public class TestAdapter extends Activity {

/** Called when the activity is first created. */

private int [] images ;

private ListView listview;

private MyAdapter adapter;

List < Map < String , Integer >> al;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

images =new int []{android.R.drawable.ic_btn_speak_now,

android.R.drawable.alert_light_frame,

android.R.drawable.arrow_down_float,

android.R.drawable.arrow_up_float,

android.R.drawable.btn_star_big_off,

android.R.drawable.btn_star_big_on,

android.R.drawable.button_onoff_indicator_off,

android.R.drawable.button_onoff_indicator_on,

android.R.drawable.checkbox_off_background,

android.R.drawable.checkbox_on_background,

android.R.drawable.ic_btn_speak_now,

android.R.drawable.ic_delete};

listview = (ListView)findViewById(R.id.listview);

al = new ArrayList < Map < String , Integer >> ();

for ( int i = 0 ; i < 12 ; i ++ ){

HashMap < String , Integer > map = new HashMap < String , Integer > ();

map.put( "" + i, images[i]);

al.add(map);

}

adapter = new MyAdapter(this, al, R.layout.list_item, new String []{ " imageview " , " tv " },

new int []{R.id.imageview, R.id.tv});

listview.setAdapter(adapter);

listview.setOnItemClickListener( new OnItemClickListener() {

public void onItemClick(AdapterView < ? > arg0, View arg1, int count,

long arg3) {

if (adapter.getCount() == count + 1 ){

HashMap < String , Integer > map = new HashMap < String , Integer > ();

map.put( "" + (adapter.mItemList.size()), android.R.drawable.ic_dialog_email);

al.add(map);

adapter.mItemList = al;

adapter.notifyDataSetChanged();

Toast.makeText(TestAdapter.this, " 正在刷新 " , Toast.LENGTH_SHORT).show();

}

}

});

}

private class MyAdapter extends SimpleAdapter{

int count = 0 ;

private List < Map < String , Integer >> mItemList;

public MyAdapter(Context context, List < ? extends Map < String , Integer >> data,

int resource, String [] from, int [] to ) {

super(context, data, resource, from, to );

mItemList = (List < Map < String , Integer >> ) data;

if (data == null ){

count = 0 ;

} else {

count = data.size();

}

}

public int getCount() {

return mItemList.size();

}

public Object getItem( int pos) {

return pos;

}

public long getItemId( int pos) {

return pos;

}

@Override

public View getView( int position, View convertView, ViewGroup parent) {

Map < String , Integer > map = mItemList.get(position);

int image=map.get( "" + position);

View view = super.getView(position, convertView, parent);

ImageView imageview = (ImageView)view.findViewById(R.id.imageview);

TextView tv = (TextView)view.findViewById(R.id.tv);

imageview.setBackgroundResource(image);

tv.setText( "" + position);

return view;

}

}

}

2.main.xml

< ?xml version = " 1.0 " encoding = " utf-8 " ? >

< LinearLayout xmlns:android = " http://schemas.android.com/apk/res/android "

android:orientation = " vertical "

android:layout_width = " fill_parent "

android:layout_height = " fill_parent "

>

< ListView android:id = " @+id/listview "

android:layout_width = " fill_parent "

android:layout_height = " wrap_content "

></ ListView >

</ LinearLayout >

3.list_item.xml

< ?xml version = " 1.0 " encoding = " utf-8 " ? >

< LinearLayout xmlns:android = " http://schemas.android.com/apk/res/android "

android:orientation = " vertical "

android:layout_width = " fill_parent "

android:layout_height = " fill_parent "

>

< ImageView

android:id = " @+id/imageview "

android:layout_width = " wrap_content "

android:layout_height = " wrap_content " >

</ ImageView >

< TextView

android:id = " @+id/tv " android:layout_width = " fill_parent "

android:layout_height = " wrap_content "

></ TextView >

</ LinearLayout >

赞助本站

人工智能实验室

相关热词: 动态刷新

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港