cursor.getString(cursor.getColumnIndex(columnName));
2.显示是一个LinearLayout 数据太多了,用滚动布局 (只能有一个子控件) 竖向滚动布局<ScrollView ></ScrollView> 横向滚动布局<HorizontalScrollView ></HorizontalScrollView> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/ll_result" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> </ScrollView> 3.显示数据逻辑 > 1. 创建文本TextView 2. 内容是查出的学生信息 3. 得到要显示的LinearLayout,添加进文本 4.清除原来数据LinearLayout.removeAllView();
是系统给我们提供的一个可以显示很多个item的控件 这个控件合理的控制了界面的显示,即使有1000000万个item要显示他也能扛的住
使用步骤
在布局xml文件声明listview控件在java代码找到listview控件,设置数据适配器setAapter();可以设置ListView条目的点击事件,listview.setOnItemClickListener(); 适配器的操作 写一个类,继承BaseAdapter重写四个方法
getCount()确定listview里面有多少个条目
getView(int positon)返回某个位置要显示的view对象
positon是当前的位置,位置从0开始
converView表示的是复用的视图,用于优化ListView处理
就是讲变成gc垃圾的Item,在放到最后使用
public View getView(int position, View convertView, ViewGroup parent)确定取消对话框
public void click01(View view) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("警告:"); builder.setMessage("若练此功,必先自宫,是否继续?"); builder.setPositiveButton("确定自宫", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "啊....", 0).show(); } }); builder.setNegativeButton("想想再说", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "如不自宫,一定不成功", 0).show(); } }); AlertDialog dialog = builder.create(); dialog.show(); }单选对话框
public void click02(View view) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("请选择您的性别:"); final String[] items = { "男", "女", "中性" }; builder.setSingleChoiceItems(items, -1, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "您的性别:" + items[which], 0) .show(); } }); builder.setNegativeButton("取消选择", null); builder.show(); }多选对花框
public void click03(View view) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("请选择您爱吃的水果"); final String[] items = new String[] { "黄瓜", "苹果", "香蕉", "菠萝菠萝蜜" }; final boolean[] checkedItems = new boolean[] { true, true, false, false }; builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(MainActivity.this, items[which] + isChecked, 0).show(); checkedItems[which] = isChecked; } }); builder.setNegativeButton("取消选择", null); builder.show(); }进度对话框
public void click04(View view) { final ProgressDialog pd = new ProgressDialog(this); pd.setTitle("提醒"); pd.setMessage("正在加载数据...请稍后"); pd.show(); new Thread() { public void run() { try { Thread.sleep(30000); } catch (InterruptedException e) { e.printStackTrace(); } pd.dismiss(); }; }.start(); }进度条对话框
public void click05(View view) { final ProgressDialog pd = new ProgressDialog(this); pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pd.setMax(100); pd.setTitle("提醒"); pd.setMessage("正在加载数据...请稍后"); pd.show(); new Thread() { public void run() { for (int i = 0; i <= 100; i++) { try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } pd.setProgress(i); } pd.dismiss(); }; }.start(); } }快速拖动
android:fastScrollEnabled="true"simpleAdapter
<!--TextView不是LinearLayout--> <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:textSize="20sp" android:textColor="#66ff0000" android:layout_height="wrap_content" > </TextView> public class MainActivity extends Activity { private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); String[] objects = new String[]{"Animation","App","content","Media","NFC","OS"}; lv.setAdapter(new ArrayAdapter<String>(this, R.layout.item, objects)); } }arrayAdapter
public class MainActivity extends Activity { private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); List<Map<String, Object>> data = new ArrayList<Map<String,Object>>(); Map<String, Object> map1 = new HashMap<String, Object>(); map1.put("icon", R.drawable.ic_menu_preferences); map1.put("name", "功能设置"); data.add(map1); Map<String, Object> map2 = new HashMap<String, Object>(); map2.put("icon", R.drawable.ic_menu_recent_history); map2.put("name", "时钟设置"); data.add(map2); Map<String, Object> map3 = new HashMap<String, Object>(); map3.put("icon", R.drawable.ic_menu_refresh); map3.put("name", "同步设置"); data.add(map3); Map<String, Object> map4 = new HashMap<String, Object>(); map4.put("icon", R.drawable.ic_menu_report_image); map4.put("name", "图片设置"); data.add(map4); lv.setAdapter(new SimpleAdapter(this, data, R.layout.item, new String[]{"icon","name"}, new int[]{R.id.iv,R.id.tv})); }log.xml
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > <item android:drawable="@drawable/logo1" android:duration="850"> </item> <item android:drawable="@drawable/logo2" android:duration="850"> </item> <item android:drawable="@drawable/logo3" android:duration="850"> </item> </animation-list>activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iv" /> </RelativeLayout> protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = (ImageView) findViewById(R.id.iv); iv.setBackgroundResource(R.drawable.logo); AnimationDrawable anim = (AnimationDrawable) iv.getBackground(); anim.start();//开始播放动画 }