2012年7月23日月曜日

ListView追加読み込み:未002 SimpleAdapter

末尾に追加

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.AbsListView;
import android.widget.ListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.SimpleAdapter;

public class AndroidListviewTest01Activity extends Activity implements OnScrollListener {
    
    Map<String, Object> map0;
    Map<String, Object> map1;
 private ArrayList<Map<String, String>> retDataList;
 private SimpleAdapter adapter2;
     
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         
         new ArrayList<Map<String, Object>>();
        retDataList = new ArrayList<Map<String, String>>();
          
  for (int n = 0; n < 11; n++) {
   Map<String, String> data = new HashMap<String, String>();
   data.put("title", n + "行目");
   data.put("comment", "111");
   retDataList.add(data);
  }

        adapter2 = new SimpleAdapter(this, retDataList,
                R.layout.raw, new String[] { "title", "comment" }, 
                new int[] {android.R.id.text1, android.R.id.text2 });
         
        ListView listView = (ListView) findViewById(R.id.listView1);
        listView.setAdapter(adapter2);//
        listView.setOnScrollListener(this);
    }
     
 public void onScroll( AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount ) {
  // TODO 自動生成されたメソッド・スタブ
  Log.d("TAG", "スクロールが発生した。2");
    Log.d("TAG", "firstVisibleItem::" + firstVisibleItem );
    Log.d("TAG", "visibleItemCount::" + visibleItemCount );
    Log.d("TAG", "totalItemCount::" + totalItemCount );
     
  if (totalItemCount == firstVisibleItem + visibleItemCount) {
   Log.d("TAG", "end");//
   // mData.add( );
    //List<Map<String, String>> retDataList = new ArrayList<Map<String, String>>();
    Map<String, String> data = new HashMap<String, String>();
    
    data.put("title", "追加");
          data.put("comment", "111");
          retDataList.add(data);
          
          adapter2.notifyDataSetChanged();
  }
 }

 public void onScrollStateChanged(AbsListView arg0, int arg1) {
  // TODO 自動生成されたメソッド・スタブ
  
 }
}


関連記事

0 件のコメント:

コメントを投稿