技术开发 频道

详解如何实现一个基本的Android用户界面

  3 数据绑定

  EXT-ALIGN: left”>有些Viewgroups会有UI。这些对象通常是AdapterView类的子类.例如包括图库和列表视图,它们具有两个共同的职责:

  填充布局数据

  处理用户操作

  充布局数据

  EXT-ALIGN: left”>填充布局数据通常通过把这个类绑定到一个Adapter来完成,Adapter从某个地方获取它的数据,或者是代码提供的一个列表,或者是来自设备数据库的查询结果。

//GetaSpinnerandbindittoanArrayAdapterthat

//referencesaStringarray.

Spinners1
=(Spinner)findViewById(R.id.spinner1);

ArrayAdapteradapter
=ArrayAdapter.createFromResource(

this,R.array.colors,android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

s1.setAdapter(adapter);



//LoadaSpinnerandbindittoadataquery.

privatestaticString[]PROJECTION
=newString[]{

People._ID,People.NAME

};

Spinners2
=(Spinner)findViewById(R.id.spinner2);

Cursorcur
=managedQuery(People.CONTENT_URI,PROJECTION,null,null);

SimpleCursorAdapteradapter2
=newSimpleCursorAdapter(this,

android.R.layout.simple_spinner_item,
//Useatemplate

//thatdisplaysa

//textview

cur,
//Givethecursortothelistadatper

newString[]{People.NAME},
//MaptheNAMEcolumninthe

//peopledatabaseto…

newint[]{android.R.id.text1});
//The”text1″viewdefinedin

//theXMLtemplate

adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

s2.setAdapter(adapter2);

  注意:使用CursorAdapter时,必须有People._ID,否则将会发生异常。

  处理用户操作Android通过设置类的AdapterView.OnItemClickListener成员到一个监听者并捕捉用户的操作事件,来处理用户的操作。

//Createamessagehandlingobjectasananonymousclass.

privateOnItemClickListenermMessageClickedHandler
=newOnItemClickListener(){

publicvoidonItemClick(AdapterViewparent,Viewv,intposition,longid)

{

//Displayamessagebox.

showAlert(”You’vegotanevent”,”Clickedme!”,”ok”,
false);

}

};

//NowhookintoourobjectandsetitsonItemClickListenermember

//toourclasshandlerobject.

mHistoryView
=(ListView)findViewById(R.id.accept_button);

mHistoryView.setOnItemClickListener(mMessageClickedHandler);

 

 

2
相关文章