android 继承 数组,转:android listView 继承ListActivity的用法

在手机中经常有列表方式。如果Activity中只有唯一一个List(这也是通常的情况),可以继承ListActivity来实现。我们用两个例子来学习List。

List例子一:利用Android自带的List格式

步骤一:Android XML文件

ListActivity是一个全屏的list,如果我们需要定制layout,例如加上一个button之类的什么的,我们需将ListView

的id设置为“@android:id/list”,我们可以同getListView来获取ListView的对象,下面是XML的例子:

.... 

...>  ...

/>  

android:id="@android:id/list " android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawSelectorOnTop="false"

/> 

步骤二:源代码

1)使用String数组设置List的item内容

例如:String[] items={"One", "Two", "Three", "Four", "Five"};

2)在onCreate中将item的内容加入,使用setListAdapter并设置List的格式

setListAdapter(new

ArrayAdapter(this,android.R.layout.simple_list_item_1,items));

ArrayAdapter有三个参数,第一是对象,第二是List的格式,第三个是List的内容。对于格式这个例子采用了Android自定义的

几种格式,后面会具体列出。android.R.layout.simple_list_item_1是TextView的方式,采用big

font,是最为常见的方式。

3)点击List的Callback方法

由于集成了ListActivity,可以直接使用回调函数onListItemClick

4)例子

public class BeginingBook

extends ListActivity { String[]

items={"One","Two","Three","Four","Five","Six","Serven"}; private

Button button; @Override public

void onCreate(Bundle savedInstanceState)

{ super.onCreate(savedInstanceState); setContentView(R.layout.main);

setListAdapter(new

ArrayAdapter( this ,

android.R.layout.simple_list_item_1, items )); button

=(Button)findViewById(R.id.chapter7); } public

void onListItemClick (ListView

parent,View v, int position, long id){ button.setText(items[position]); //position是点击的item的序号,从0开始。 } }

5)不同的呈现模式

我们修改ArrayAdapter的第二个显示的模式。另外可以通过getListView()获取ListView的对象,设置ListView

的一些属性,ListView的一些常用方法:setChoiceMode(),getCheckedItemPositions()

setListAdapter (new

ArrayAdapter(this, android.R.layout.simple_list_item_single_choice ,items)); getListView().setChoiceMode (ListView.CHOICE_MODE_SINGLE);//表明有选项,如果不设置,缺省为none,即我们点击后仍无反应

setListAdapter (new

ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice ,items)); getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); //注意,只要点击就会触发Callback,而不过是的点击后选上还是变为取消。

setListAdapter (new

ArrayAdapter(this, android.R.layout.simple_list_item_checked ,items)); getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

下面,第一个图为android.R.layout.simple_list_item_1,接着依次为上面三种格式。

a4c26d1e5885305701be709a3d33442f.png

List例子二:自定义的List格式(来自Tutorial)

步骤一:建立一个描述list item格式的XML文件

encoding="utf-8"?> 

xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rowtv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dip" android:textSize="16dip"> 

步骤二:通过XML定义item

在第一个例子中,我们使用String[]来定制item。但是之前,我们也学习到,为了适合多种语言,最要这些信息都在XML文件中定义,只需更换XML文件,就可以适配不同的语言。我们在string.xml文件中增加相关的定义:

encoding="utf-8"?>  …

…   Bharain   Bangladesh  Barbados  Belarus  Belgium  Belize  Benin   

步骤三:源代码

a4c26d1e5885305701be709a3d33442f.png

public class Chapter7Test2

extends ListActivity {

public

void onCreate (Bundle

savedInstanceState) { super.onCreate(savedInstanceState); String[]

contries=getResources().getStringArray(R.array.countries_arry); setListAdapter(new

ArrayAdapter(this,

R.layout.chapter_7_test2_list, contries)); ListView

lv=getListView (); lv.setTextFilterEnabled(true); lv.setOnItemClickListener (new

OnItemClickListener(){ public void

onItemClick(AdapterView> parent,

View view, int position, long id){ //Toast.makeText(Chapter7Test2.this,

((TextView) view).getText(),

Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), ((TextView)

view).getText(),

Toast.LENGTH_SHORT).show(); } });

} }

Toast

上面给出Toast的例子。Toast.makeText(对象,文本内容,格式).show()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值