ListView的使用

来源:互联网 发布:硬盘分区不丢失数据 编辑:程序博客网 时间:2024/05/26 19:19

在用ListView时,要搭配ArrayAdapter或者SimpleCursorAdapter,将视图与后台数据关联起来

package com.example.activity_and_service;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ListView;import android.widget.ArrayAdapter;import android.content.Context;import android.widget.AdapterView;import android.widget.Adapter;import android.widget.AdapterView.OnItemClickListener;public class MainActivity extends Activity{  @Override  protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);      final ListView listView = (ListView)findViewById(R.id.listview);      String[] values = new String[] {"Android", "iPhone", "windowsMobile",      "Blackberry", "WebOS", "Ubuntu", "Window7", "Max OS X",      "Linux", "OS/2", "Ubuntu", "Window7", "Max OS X", "Linux",      "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux", "os/2",      "Android", "iPhone", "WindowsMobile"};            final ArrayList<String> list = new ArrayList<String>();      for (int i = 0; i < values.length; i++) list.add(values[i]);            final StableArrayAdapter adapter = new StableArrayAdapter(this, android.R.layout.simple_list_item_1, list);            listView.setAdapter(adapter);            listView.setOnItemClickListener(new AdapterView.OnItemClickListener()       {      public void onItemClick(AdapterView<?> parent, final View view, int position, long id)      {      final String item = (String)parent.getItemAtPosition(position);            view.animate().setDuration(2000).alpha(0);                   }      });        }    private class StableArrayAdapter extends ArrayAdapter<String>  {  HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();    public StableArrayAdapter(Context context, int textViewResourceId, List<String> objects)  {  super(context, textViewResourceId, objects);  for (int i = 0; i < objects.size(); i++) {  mIdMap.put(objects.get(i), i);  }  }    public long getItemId(int position)  {  String item = getItem(position);    return mIdMap.get(item);  }    public boolean hasStableIds()  {  return true;  }  }



0 0