通过一个例子学习LauncherActivity、ExpanableListActivity和PreferenceActivity的使用(一)
来源:互联网 发布:nodejs 遍历json数组 编辑:程序博客网 时间:2024/05/22 16:39
首先,看一下整个程序的运行结果:
图1.
图2
.图3.
图4.
下面来编写代码实现上述结果:
一、LauncherActivity的使用
LauncherActivity本质上是一个开发列表界面的Acticity,与普通的列表界面不同的是,它开发出来的列表界面的每个列表项对应于一个Intent,因此当用户点击不同的列表项时,应用程序会启动对应的Activity,需要注意的是继承LauncherActivity时通常应该重写intentForPosition(int position)方法,该方法根据不同的Item返回不同的Intent,从而程序自动启动不同的Activity。
OtherActivity继承LauncherActivity不需要界面布局文件。但通过SimpleAdapter来设置每个Item时需要用到布局文件list.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <!-- 定义一个ImageView作为列表项的一部分 --><ImageView android:id="@+id/header"android:layout_height="wrap_content"android:layout_width="wrap_content"android:paddingLeft="10dp" /><TextView android:id="@+id/name" android:layout_height="match_parent" android:layout_width="match_parent" android:textSize="16dp" android:gravity="center_vertical" android:paddingLeft="10dp" /> </LinearLayout>
OtherActivity.java代码:
package com.example.otheractivity;import java.util.ArrayList;public class OtherActivity extends LauncherActivity {//定义两个Activity的名称int []imageIds=new int[]{R.drawable.ic_launcher,R.drawable.ic_launcher};String[] ActivityNames={"设置程序参数","查看星际兵种"};//定义两个Activity对应的实现类Class<?>[] classes={ExpandableActivityTest.class,PreferenceActivityTest.class}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //创建一个List集合,List集合的元素是Map List<Map<String, Object>> listItems=new ArrayList<Map<String,Object>>(); for(int i=0;i<ActivityNames.length;i++){ Map<String, Object> listItem=new HashMap<String, Object>(); listItem.put("header", imageIds[i]); listItem.put("personName", ActivityNames[i]); listItems.add(listItem); } SimpleAdapter simpleAdapter=new SimpleAdapter(this, listItems, R.layout.list, new String[]{"personName","header"}, new int[]{R.id.name,R.id.header}); //设置该窗口现实的列表所需的Adapter setListAdapter(simpleAdapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_other, menu); return true; } @Overrideprotected Intent intentForPosition(int position) {// TODO Auto-generated method stub return new Intent(OtherActivity.this, classes[position]);} }运行结果如上图中的图1,上面的程序还用到了两个Activity:ExpandableListActivityTest和PreferenceActivityTest,这两个Activity是分别通过继承ExpandableListActivity和PreferenceActivity来实现的。下一篇文章将介绍这两个Activity中的实现。
- 通过一个例子学习LauncherActivity、ExpanableListActivity和PreferenceActivity的使用(一)
- activity的子类使用:launcheractivity和preferenceactivity
- LauncherActivity的简单学习和使用
- PreferenceActivity的学习和使用
- 通过一个例子学习反射的使用
- LauncherActivity,PreferenceActivity,ExpandableListActivity
- 4 LauncherActivity PreferenceActivity ExpandableActivity
- Android LauncherActivity,ExpandableListActivity,PreferenceActivity
- Android学习笔记八.LauncherActvity 之LauncherActivity、PreferenceActivity、PreferenceFragment
- 【Android】Activity类及其子类:LauncherActivity、PreferenceActivity和ExpandableListActivity
- Android中LauncherActivity、PreferenceActivity、ExpandableListActivity的综合运用
- 第七课:Activity 及其子类的使用一:LauncherActivity
- PreferenceActivity的使用及示例界面的实现(一)
- 使用LauncherActivity开发启动的列表
- 通过一个例子学习stringstream
- MyBatis学习(一)一个简单的例子
- 通过一个小例子来说明ajax和WebService服务的使用
- PreferenceActivity的使用(转贴)
- 《Effective C++》读书笔记之item44:将与参数无关的代码抽离templates
- pthread_cond_wait()的使用
- android中APK开机自动运行
- 百度面试题 --- 锦标赛排序
- 2013IT类企业校园招聘信息汇总
- 通过一个例子学习LauncherActivity、ExpanableListActivity和PreferenceActivity的使用(一)
- 关于N个小球放M个盒子解答
- css样式控件td或div文字溢出用....表示
- 鳥哥的學習觀
- Java中的值传递和引用传递
- JavaScript的RegExp对象
- 有关 android jelly bean notification(消息传递机制)较ics的变化
- linux下创建和删除软、硬链接
- 串口杂乱