关于ListActivity的创建

        ListActivity是一个默认布局为全屏列表的界面布局。

        不想使用ListActivity的默认布局时,可以在重写onCreate方法时,在方法内部调用setContentView方法来设置自己的布局方式。此时布局中必须包含一个ListView,它的id为"@+id/android:list"的。若还指定了一个id为"@+id/android:empty"的view,当ListView中没有数据要显示时,这个view就会被显示,同时 ListView会被隐藏。

<!-- id为@id/android:list的ListView为客户化的list布局,如果没有,则系统会调用默认的布局 -->

<ListView 
android:id="@+id/android:list" 
android:layout_width="match_parent"
android:layout_height="match_parent"/>

<!-- 当ListView中没有数据时,id为@id/android:empty的view就会显示出来 -->

<TextView 
android:id="@+id/android:empty" 
android:layout_width="match_parent"
android:layout_height="match_parent"/>

        而在Java代码中ListActivity的固定创建方法如下,同时定义了item的点击事件。

public class MainActivity extends ListActivity {
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
    	// 菜单项数组
        String[] items = {"One","Two"};
	// 将菜单项数组设置为ListView的列表项展示
	setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items));
	getListView().setTextFilterEnabled(true);
        
    }
    
    // 响应菜单项的单击事件
	protected void onListItemClick(ListView l, View v, int position, long id) {
		Intent intent = null;
		switch (position) {
		case 0:
			intent = new Intent(MainActivity.this,TestOne.class);
			startActivity(intent);
			break;
		case 1:
			intent = new Intent(MainActivity.this,TestTwo.class);
			startActivity(intent);
			break;
		}
	}
}


        如果是items的值是变动的,可以采用下面的这种方法:


public class ListActivityDemo extends ListActivity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		//定义一个List补全方法fillList
		List<String> items = fillList();

		//List列表监听器
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items);
		setListAdapter(adapter);
	}

	private List<String> fillList() {
		List<String> items = new ArrayList<String>();

		items.add("One");
		items.add("Two");

		// items.clear();

		return items;
	}

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值