Android ListView
16lz
2021-01-23
package cn.itcast.db;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import cn.itcast.domain.Person;import cn.itcast.service.PersonService;import android.app.Activity;import android.content.ContentResolver;import android.content.ContentValues;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.Button;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.SimpleCursorAdapter;import android.widget.Toast;import android.widget.AdapterView.OnItemClickListener;public class MainActivity extends Activity {private static final String TAG = "MainActivity"; private ListView listView; private PersonService service; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {ContentResolver contentResolver = getContentResolver();Uri insertUri = Uri.parse("content://cn.itcast.provides.personprovider/person");ContentValues values = new ContentValues();values.put("name", "laofang");values.put("phone", "13800029333");values.put("amount", "1000");contentResolver.insert(insertUri, values);}}); listView = (ListView)this.findViewById(R.id.listView); service = new PersonService(this); /* List<Person> persons = service.getScrollData(0, 5); List<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>(); for(Person person : persons){ HashMap<String, Object> item = new HashMap<String, Object>(); item.put("name", person.getName()); item.put("phone", person.getPhone()); item.put("amount", person.getAmount()); data.add(item); } SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item, new String[]{"name","phone", "amount"}, new int[]{R.id.name, R.id.phone, R.id.amount}); listView.setAdapter(adapter); listView.setOnItemClickListener(new ItemClickListener()); */ Cursor cursor = service.getCursorScrollData(0, 5); SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor, new String[]{"name","phone","amount"}, new int[]{R.id.name, R.id.phone, R.id.amount}); listView.setAdapter(cursorAdapter); listView.setOnItemClickListener(new ItemClickListener()); } private final class ItemClickListener implements OnItemClickListener{@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {ListView lView = (ListView)parent;/*HashMap<String, Object> item = (HashMap<String, Object>)lView.getItemAtPosition(position);Log.i(TAG, item.get("name").toString());Toast.makeText(MainActivity.this, item.get("name").toString(), 1).show();*/Cursor cursor = (Cursor)lView.getItemAtPosition(position);String name = cursor.getString(cursor.getColumnIndex("name"));Toast.makeText(MainActivity.this, name, 1).show();} }}
listView.setAdapter(cursorAdapter); listView.setOnItemClickListener(new ItemClickListener());深入了解Adapter,后续中再写一篇关于Adapter的文章。
更多相关文章
- Android面试系列文章2018之Android部分Activity篇
- Android面试系列文章2018之Android部分WebView篇
- android技术文章网址
- Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面
- 系出名门 Android 系列文章索引
- 我的Android相关文章目录
- android开发系列文章集合
- Android异步处理系列文章四篇之四 AsyncTask的实现原理
- 那些年收藏的技术文章(一)-CSDN篇