android控件之ListView
来源:互联网 发布:矩阵的2范数计算举例 编辑:程序博客网 时间:2024/04/26 21:55
main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <Button
- android:id="@+id/myButton"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="点击"
- />
- <ListView
- android:id="@android:id/list"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:drawSelectorOnTop="true"
- />
- </LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/myButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="点击" /> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" /></LinearLayout>
android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false" 点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的
MytestActivity.java
- package com.android.demo;
- import android.app.ListActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.ListView;
- public class MytestActivity extends ListActivity {
- Button MyButton;
- String[] items={"One", "Two", "Three", "Four", "Five"};
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- MyButton = (Button)findViewById(R.id.myButton);
- setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items));
- }
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
- // TODO Auto-generated method stub
- MyButton.setText(items[position]);
- super.onListItemClick(l, v, position, id);
- }
- }
package com.android.demo;import android.app.ListActivity;import android.os.Bundle;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;public class MytestActivity extends ListActivity {Button MyButton;String[] items={"One", "Two", "Three", "Four", "Five"}; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MyButton = (Button)findViewById(R.id.myButton); setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items)); }@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) {// TODO Auto-generated method stubMyButton.setText(items[position]);super.onListItemClick(l, v, position, id);} }结果如图
5)不同的呈现模式
我们修改ArrayAdapter的第二个显示的模式。另外可以通过getListView()获取ListView的对象,设置ListView的一些属性,ListView的一些常用方法:setChoiceMode(),getCheckedItemPositions() 。
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,items));
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);//表明有选项,如果不设置,缺省为none,即我们点击后仍无反应setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice ,items));
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); //注意,只要点击就会触发Callback,而不过是的点击后选上还是变为取消。setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked,items));
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
接着依次为上面三种格式。
- package com.android.demo;
- import android.app.ListActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.ListView;
- public class MytestActivity extends ListActivity {
- Button MyButton;
- String[] items={"One", "Two", "Three", "Four", "Five"};
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- MyButton = (Button)findViewById(R.id.myButton);
- /*
- setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice, items));
- getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
- */
- /*
- setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, items));
- getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
- //getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
- */
- setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked,items));
- //getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
- getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
- }
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
- // TODO Auto-generated method stub
- MyButton.setText(items[position]);
- super.onListItemClick(l, v, position, id);
- }
- }
list_items.xml
- <?xml version="1.0" encoding="utf-8" ?>
- <TextView
- android:text="TextView02"
- android:layout_height="wrap_content"
- android:layout_width="fill_parent"
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/ItemText" />
<?xml version="1.0" encoding="utf-8" ?> <TextView android:text="TextView02" android:layout_height="wrap_content" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ItemText" />
main.xml
- <?xml version="1.0" encoding="utf-8" ?>
- <LinearLayout
- android:id="@+id/LinearLayout01"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <Button
- android:id="@+id/mybutton"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="确定"
- />
- <ListView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/ListView01" />
- </LinearLayout>
<?xml version="1.0" encoding="utf-8" ?> <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/mybutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="确定" /> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ListView01" /> </LinearLayout>
MytesActivity.java
- package com.android.demo;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.ListAdapter;
- import android.widget.ListView;
- public class MytesActivity extends Activity {
- String[] items={"One", "Two", "Three", "Four", "Five"};
- Button myButton;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- ListView list = (ListView) findViewById(R.id.ListView01);
- myButton = (Button)findViewById(R.id.mybutton);
- ListAdapter adapter = new ArrayAdapter<String>(this, R.layout.list_items, items);
- list.setAdapter(adapter);
- list.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
- long arg3) {
- myButton.setText("点击第"+arg2+"个项目");
- }
- });
- }
- }
package com.android.demo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListAdapter;import android.widget.ListView;public class MytesActivity extends Activity {String[] items={"One", "Two", "Three", "Four", "Five"};Button myButton;@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ListView list = (ListView) findViewById(R.id.ListView01); myButton = (Button)findViewById(R.id.mybutton); ListAdapter adapter = new ArrayAdapter<String>(this, R.layout.list_items, items); list.setAdapter(adapter); list.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {myButton.setText("点击第"+arg2+"个项目");}}); }}
结果如图
- Android 控件之ListView
- Android控件之ListView
- Android控件之ListView
- android控件之ListView
- Android控件之ListView
- Android控件之ListView
- Android控件之ListView
- Android控件之ListView
- Android之ListView控件
- Android控件之ListView
- Android控件之ListView
- Android控件之ListView
- Android控件之ListView
- android控件之ListView(一)
- android控件之ListView(二)
- android控件之ListView(三)
- Android学习之ListView控件
- android控件开发之ListView
- 解决weblogic时间与系统时间不一致的问题
- Android中Drawable分类汇总(下)
- 使用PHP执行系统外部命令的四种方法
- deep copy 深拷贝 iOS iPhone
- 设计模式重温--结构型模式
- android控件之ListView
- 自定义 DigitalClock,实现只显示时、分
- 事务管理
- Hibernate映射解析——七种映射关系
- javascript数组
- java中集合类的用法详解
- zoj 3157 计算几何 + 树状数组(逆序数)
- android资源目录---assets与res/raw区别
- JVM调优总结(一):基本概念