Android入门笔记: ListView和一个控制类

实现点击一个ListView的Item,弹出不同的控件.

 

这是一个内容类 

Name  字段决定其显示

启动控件的Context对象

和一个Intent 确定被启动控件对象

使用startActivity来启动


package com.example.l01uicontrols;

import android.content.Context;
import android.content.Intent;

public class ListCellData
{

	@Override
	public String toString()
	{
		return controlName;
	}

	private String controlName;
	private Context context;
	private Intent relateIntent;

	public ListCellData(String controlName, Context context, Intent relateIntent)
	{
		super();
		this.controlName = controlName;
		this.context = context;
		this.relateIntent = relateIntent;
	}

	public String getControlName()
	{
		return controlName;
	}

	public void setControlName(String controlName)
	{
		this.controlName = controlName;
	}

	public Context getContext()
	{
		return context;
	}

	public void setContext(Context context)
	{
		this.context = context;
	}

	public Intent getRelateIntent()
	{
		return relateIntent;
	}

	public void setRelateIntent(Intent relateIntent)
	{
		this.relateIntent = relateIntent;
	}

	public void startActivity()
	{
		getContext().startActivity(relateIntent);
	}

}

将这个类通过Adapter和ListView关联起来

package com.example.l01uicontrols;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends ListActivity
{

	private ArrayAdapter<ListCellData> adapter;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		adapter = new ArrayAdapter<ListCellData>(this,
				android.R.layout.simple_list_item_1);
		setListAdapter(adapter);

		adapter.add(new ListCellData("RadioGroup", this, new Intent(this,
				act01.class)));

		adapter.add(new ListCellData("CheckBox", this, new Intent(this,
				UsingCheckBox.class)));

	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id)
	{
		super.onListItemClick(l, v, position, id);
		ListCellData data = adapter.getItem(position);
		data.startActivity();
	}

}

点击Item就能启动Activirty啦


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值