Android学习--ListView和Tab
产生一个ListView 其中包含很多items,第一个item启动另一个实现了Tab的Activity。
关于tab的使用方式,参见下面blog
http://oldshark.blog.163.com/blog/static/97167342011729112640919/
http://erbo2008.iteye.com/blog/1542733
源码框架如下:
MainActivity.java:
1 package com.example.listviewdemo;
2
3 import android.os.Bundle;
4 import android.app.Activity;
5 import android.app.ListActivity;
6 import android.content.Intent;
7 import android.view.Menu;
8 import android.view.View;
9 import android.widget.AdapterView.OnItemClickListener;
10 import android.widget.ArrayAdapter;
11 import android.widget.ListAdapter;
12 import android.widget.ListView;
13 import android.widget.TextView;
14 import android.widget.Toast;
15
16 public class MainActivity extends ListActivity {
17 private TextView textView;
18 private String[] items = {"item1","item2","item3","item4","item5","item6"};
19 @Override
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.activity_main);
23 textView = (TextView) findViewById(R.id.TextView);
24 setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
25 items));
26 }
27
28 @Override
29 protected void onListItemClick(ListView l, View v, int position, long id) {
30 // TODO Auto-generated method stub
31 super.onListItemClick(l, v, position, id);
32
33 textView.setText(items[position]);
34 Toast.makeText(this, position+"", Toast.LENGTH_LONG).show();
35 switch (position) {
36 case 0:
37 Intent intent = new Intent();
38 intent.setClass(this, TabDemo.class);
39 startActivity(intent);
40 break;
41
42 default:
43 break;
44 }
45
46 }
47
48 @Override
49 public boolean onCreateOptionsMenu(Menu menu) {
50 // Inflate the menu; this adds items to the action bar if it is present.
51 getMenuInflater().inflate(R.menu.main, menu);
52 return true;
53 }
54
55 }
TabDemo.java:
package com.example.listviewdemo; import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost; public class TabDemo extends TabActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState); TabHost tabHost = getTabHost();
// LayoutInflater.from(this).inflate(R.layout.tab1,
// tabHost.getTabContentView(),true); LayoutInflater.from(this).inflate(R.layout.tab2,
tabHost.getTabContentView(),true);
tabHost.addTab(tabHost.newTabSpec("TAB1").setIndicator("布局1")
.setContent(new Intent(this,Tab1.class)));
tabHost.addTab(tabHost.newTabSpec("TAB2").setIndicator("布局2")
.setContent(R.id.tab2));
}
}
tab1.java
package com.example.listviewdemo; import android.app.Activity;
import android.os.Bundle; public class Tab1 extends Activity{ @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tab1);
}
}
mainActivity.xml
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<!-- **********NOTICE********** -->
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:layout_below="@id/TextView"
> </ListView> </RelativeLayout>
Tab1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tab1"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/app_name"/> </LinearLayout>
Tab2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tab2"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/hello_world"/>
</LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.listviewdemo"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="10" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.listviewdemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.listviewdemo.TabDemo"></activity>
<activity android:name="com.example.listviewdemo.Tab1"></activity>
</application> </manifest>
Android学习--ListView和Tab的更多相关文章
- Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象
本文将介绍ListView和Inflater的使用,将接上一篇文章内容. 一.什么是ListView? 在android开发中ListView是比较常用的控件,ListView 控件可使用四种不同视图 ...
- android 学习 ListView使用补充
前面两篇学习适配器的时候用的就是listview,主要是简单的添加,今晚在看了下listview滚动状态事件和动态加载数据,一个小demo. listview的滚动状态主要有三种,onScrollSt ...
- Android学习--ListView
这篇文章用于总结自己这两天学到的安卓的ListView和RecyclerView 的笔记,以及从我这个iOS开发者的角度去理解和学习这两个控件,会比较一下他们个iOS中那些控件是一致的,可以用来对比的 ...
- Android学习---ListView的点击事件,simpleAdapter和arrayadapter,SimpleCursoAdapter的原理和使用
如题,本文将介绍 listview的点击事件,simpleAdapter和arrayadapter的原理和使用. 1.ListView的注册点击事件 //注册点击事件 personListView.s ...
- Android学习——ListView的缓存机制
在使用ListView的时候,需要加载适配器和数据源,这篇文章主要介绍一下ListView的使用以及利用ListView的缓存机制来减少系统的初始化时间. ListView的使用 ListView和V ...
- 42.Android之ListView中ArrayAdapter简单学习
今天学习下Android中ListView关于ArrayAdapter数据绑定, 废话少说直接上代码. 改下布局文件: <?xml version="1.0" encodin ...
- 38.Android之ListView简单学习(一)
android中ListView用的很普遍,今天来学习下,本篇主要以本地数据加载到listview,后面会学习从网络获取数据添加到listview. 首先改下布局文件: <?xml versio ...
- android学习笔记12——ListView、ListActivity
ListView.ListActivity ==> ListView以垂直列表的形式显示所有列表项. 创建ListView的方式: 1.直接使用ListView创建 2.Activity继承Li ...
- Android学习随笔--ListView的分页功能
第一次写博客,可能格式,排版什么的会非常不美观,不过我主要是为了记录自己的Android学习之路,为了以后能有些东西回顾.既然是为了学习,那我肯定会吸收各位大大们的知道经验,有不足的地方请指出. 通过 ...
- Android学习笔记(20)————利用ListView制作带竖线的多彩表格
http://blog.csdn.net/conowen/article/details/7421805 /********************************************** ...
随机推荐
- 解决WPF+Avalonia在openKylin系统下默认字体问题
一.openKylin简介 openKylin(开放麒麟) 社区是在开源.自愿.平等和协作的基础上,由基础软硬件企业.非营利性组织.社团组织.高等院校.科研机构和个人开发者共同创立的一个开源社区,致力 ...
- 一个关于 i++ 和 ++i 的面试题打趴了所有人
前言 都说大城市现在不好找工作,可小城市却也不好招人. 我们公司招了挺久都没招到,主管感到有些心累. 我提了点建议,是不是面试问的太深了,在这种小城市,能干活就行. 他说自己问的面试题都很浅显,如果答 ...
- 【Python进阶-PyQt5】00搭建PyQt5环境
1.创建独立开发虚拟环境 1.1虚拟环境简介 我们编写的程序,有时用到的Python库是不一样的,比如说开发桌面应用程序我们主要用到PyQt5相关的Python库.开发Web应用程序我们主要用到Dja ...
- Codechef - Longest AND Subarray(位运算)
题目大意 给定一个正整数N,其序列为[1, 2, 3, ..., N],找到一个长度最大的连续子列,使得其所有元素取与运算的结果为正(最终输出只需要输出最大长度即可). 思路 刚开始可能并不好 ...
- PLSQL_developer安装与配置
前言: 记录安装与配置操作 环境: 客户机:windows 服务器:虚拟机中的windows server 2003 /---------------------------------------- ...
- es针对nested类型数据无法进行过滤查询的问题记录
问题描述 es中存在有一个名为task_data_1的索引,其字段映射关系如下所示: { "task_data_1" : { "mappings" : { &q ...
- 普冉PY32系列(八) GPIO模拟和硬件SPI方式驱动无线收发芯片XN297LBW
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- 市二模&中考游记
市二模 过于久远,记不清了.当时由于不想写游记浪费备考时间所以没写. 然后就是我现在真的记不住,算了不写了( 大概是 140+150+135.5+89+68 吧. 中考 内容以各类奇闻逸事为主( \( ...
- JVM-Java语法糖与Java编译器
基本类型和其包装类型之间的自动转换,也就是自动装箱.自动拆箱,是通过加入[Wrapper].valueOf(如 Integer.valueOf)以及[Wrapper].[primitive]Value ...
- 题解 SP15454
前言 数学符号约定 \(\operatorname{lowbit}(x)\):表示 \(x\) 的二进制最低位. \([a,b]\):表示区间 \(a\sim b\),其中包含 \(a,\,b\) 端 ...