adapterview android,AdapterView

AdapterView 是一个 ViewGroup,用于显示加载到适配器中的项。最常见的适配器类型来自基于数组的数据源。

本指南介绍了如何完成与设置适配器相关的一些关键步骤。

使用数据填充布局

如需将数据添加到您在应用的界面内创建的布局中,请添加类似于以下内容的代码:

Kotlin

val PROJECTION = arrayOf(Contacts.People._ID, People.NAME)

...

// Get a Spinner and bind it to an ArrayAdapter that

// references a String array.

val spinner1: Spinner = findViewById(R.id.spinner1)

val adapter1 = ArrayAdapter.createFromResource(

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

adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)

spinner1.adapter = adapter1

// Load a Spinner and bind it to a data query.

val spinner2: Spinner = findViewById(R.id.spinner2)

val cursor: Cursor = managedQuery(People.CONTENT_URI, PROJECTION, null, null, null)

val adapter2 = SimpleCursorAdapter(this,

// Use a template that displays a text view

android.R.layout.simple_spinner_item,

// Give the cursor to the list adapter

cursor,

// Map the NAME column in the people database to...

arrayOf(People.NAME),

// The "text1" view defined in the XML template

intArrayOf(android.R.id.text1))

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

spinner2.adapter = adapter2Java

// Get a Spinner and bind it to an ArrayAdapter that

// references a String array.

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

ArrayAdapter adapter = ArrayAdapter.createFromResource(

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

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

s1.setAdapter(adapter);

// Load a Spinner and bind it to a data query.

private static String[] PROJECTION = new String[] {

People._ID, People.NAME

};

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

Cursor cur = managedQuery(People.CONTENT_URI, PROJECTION, null, null);

SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,

android.R.layout.simple_spinner_item, // Use a template

// that displays a

// text view

cur, // Give the cursor to the list adapter

new String[] {People.NAME}, // Map the NAME column in the

// people database to...

new int[] {android.R.id.text1}); // The "text1" view defined in

// the XML template

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

s2.setAdapter(adapter2);

请注意,必须将投影中的 People._ID 列与 CursorAdapter 结合使用,否则将会出现异常。

如果您在应用的生命周期内更改了适配器读取的底层数据,则应调用

注意:在 Android Studio 3.6 及更高版本中,视图绑定功能可以替换 findViewById() 调用,并为与视图互动的代码提供编译时类型安全。考虑使用视图绑定,而非 findViewById()。

处理用户选择

您可以通过将类的

Kotlin

val historyView: ListView = findViewById(R.id.history)

historyView.onItemClickListener = AdapterView.OnItemClickListener { parent, view, position, id ->

Toast.makeText(context, "You've got an event", Toast.LENGTH_SHORT).show()

}Java

// Create a message handling object as an anonymous class.

private OnItemClickListener messageClickedHandler = new OnItemClickListener() {

public void onItemClick(AdapterView parent, View v, int position, long id)

{

// Display a messagebox.

Toast.makeText(context,"You've got an event",Toast.LENGTH_SHORT).show();

}

};

// Now hook into our object and set its onItemClickListener member

// to our class handler object.

historyView = (ListView)findViewById(R.id.history);

historyView.setOnItemClickListener(messageClickedHandler);

有关此主题的更多讨论内容,请参阅微调框主题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值