通过继承ListActivity实现列表

如果你的Activity 中只需要显示一个列表,那么就可以通过继承ListActivity 的方式来实现:

arrays.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="ctype">
        <item>情景模式</item>
        <item>主题模式</item>
        <item>手机</item>
        <item>程序管理</item>
        <item>通话设置</item>
        <item>连接功能</item>
    </string-array>

</resources>

MainActivity.java

public class MainActivity extends ListActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice,
				getResources().getStringArray(R.array.ctype));
		setListAdapter(adapter);
	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		String result = l.getItemAtPosition(position).toString();
		Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT).show();
	}

}

这里让MainActivity 继承ListActivity,并删除了setContentView() 方法。绑定适配器的时候使用setListAdapter() 方法,其他的和创建ListView 的方法基本相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ListViewAndroid中最常用的UI组件之一,用于展示具有固定结构的大量数据。它继承自AdapterView,可以通过Adapter来动态地显示数据。 ListView的特点是:每一行数据都是相同的布局,并且每个Item的高度是相同的。因此,我们可以利用ListView来展示一些比较简单的数据列表。 在使用ListView时,我们需要实现一个Adapter来提供数据,并且可以对ListView的Item进行自定义布局。以下是一个简单的使用ListView的例子: ```java public class MainActivity extends AppCompatActivity { private ListView mListView; private List<String> mDataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mListView = findViewById(R.id.list_view); // 初始化数据 mDataList = new ArrayList<>(); for (int i = 0; i < 50; i++) { mDataList.add("Item " + i); } // 创建适配器 ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mDataList); // 设置适配器 mListView.setAdapter(adapter); } } ``` 在这个例子中,我们使用了Android自带的ArrayAdapter作为ListView的适配器,并且使用了系统提供的简单列表项布局simple_list_item_1,将数据逐一展示在ListView中。 除了普通的ListViewAndroid还提供了一个ListActivity类,它是一个已经封装好的Activity,专门用来展示ListView。我们只需要继承ListActivity实现一个适配器即可。以下是一个使用ListActivity的例子: ```java public class MainActivity extends ListActivity { private List<String> mDataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化数据 mDataList = new ArrayList<>(); for (int i = 0; i < 50; i++) { mDataList.add("Item " + i); } // 创建适配器 ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mDataList); // 设置适配器 setListAdapter(adapter); } } ``` 在这个例子中,我们继承ListActivity,并且在onCreate()方法中直接使用setListAdapter()方法设置适配器,省去了findViewById()和ListView的初始化过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值