热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

选项卡组件和ListView组件结合模拟新浪微博

选项卡组件和ListView组件结合模拟新浪微博一、1、MainActivity.javapackagecom.example.ui2;importandroid.app.TabActivity;


选项卡组件和ListView组件结合模拟新浪微博

一、1、MainActivity.java

package com.example.ui2;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.widget.TabHost;

public class MainActivity extends TabActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
TabHost tabHost = getTabHost();
LayoutInflater.from(this).inflate(R.layout.main,
tabHost.getTabContentView(), true);
Intent intent = new Intent();
intent.setClass(this, Tab01Activity.class);
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("", getResources().getDrawable(R.drawable.p1))
.setContent(intent));
tabHost.addTab(tabHost.newTabSpec("tab2")
.setIndicator("", getResources().getDrawable(R.drawable.p2))
.setContent(R.id.tab2));
tabHost.addTab(tabHost.newTabSpec("tab3")
.setIndicator("", getResources().getDrawable(R.drawable.p3))
.setContent(R.id.tab3));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

2、Tab01Activity.java

package com.example.ui2;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

public class Tab01Activity extends Activity {
private List> data;
private ListView listItem;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab1_main);
listItem = (ListView) this.findViewById(R.id.list);
data = getData();
SimpleAdapter adapter = new SimpleAdapter(this, data,
R.layout.tab1_item, new String[] { "image", "name", "publish",
"content" }, new int[] { R.id.image, R.id.name,
R.id.publish, R.id.content });
listItem.setAdapter(adapter);
listItem.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView adapter, View view,
int position, long id) {
// TODO Auto-generated method stub
Map item = (Map) data
.get(position);
Toast.makeText(getApplicationContext(),
item.get("name") + "\n\n" + item.get("content"),
Toast.LENGTH_LONG).show();

}
});
}

private List> getData() {
List> data = new ArrayList>();
Map item = new HashMap();
item.put("image", R.drawable.p1);
item.put("name", "想想");
item.put("publish", "1分钟前");
item.put("content", "我正在学习安卓Listview。嘎嘎嘎嘎!!");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p2);
item.put("name", "嘻嘻");
item.put("publish", "9分钟前");
item.put("content", "今天很高兴");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p3);
item.put("name", "丽丽");
item.put("publish", "23分钟前");
item.put("content", "今天遇见一件好玩的事情。");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p4);
item.put("name", "西西");
item.put("publish", "43分钟前");
item.put("content", "今天天气真好!");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p5);
item.put("name", "露露");
item.put("publish", "1小时前");
item.put("content", "今天真是太高兴了");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p6);
item.put("name", "美美");
item.put("publish", "2小时前");
item.put("content", "今天真是太高兴了");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p7);
item.put("name", "晕晕");
item.put("publish", "3小时前");
item.put("content", "我想告诉你,我的作业写好了");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p8);
item.put("name", "佳佳");
item.put("publish", "3小时前");
item.put("content", "今天天气真好啊");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p9);
item.put("name", "红红");
item.put("publish", "4小时前");
item.put("content", "有点不高兴了");
data.add(item);
item = new HashMap();
item.put("image", R.drawable.p10);
item.put("name", "强强");
item.put("publish", "4小时前");
item.put("content", "好好努力吧,加油哟");
data.add(item);
return data;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

二、

1、activity_tab01.xml

    xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
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=".Tab01Activity" >

android:layout_
android:layout_
android:text="@string/hello_world" />


2、min.xml

    xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
>

android:id="@+id/tab2"
android:layout_
android:layout_
android:src="@drawable/p2"/>
android:id="@+id/tab3"
android:layout_
android:layout_
android:src="@drawable/p3"/>



3、tab1_item.xml


android:layout_
android:layout_
android:orientation="horizontal"
>
android:id="@+id/image"
android:padding="10dp"
android:layout_
android:layout_ />

android:layout_
android:layout_
android:orientation="vertical" >

android:layout_
android:layout_
android:orientation="horizontal" >

android:id="@+id/name"
android:paddingTop="10dp"
android:layout_
android:layout_ />

android:id="@+id/publish"
android:layout_
android:layout_
android:paddingTop="10dp"
android:gravity="right" />


android:id="@+id/content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_
android:layout_ />





4、tab1_main.xml


android:layout_
android:layout_
>
android:id="@+id/list"
android:layout_
android:layout_ >



三、效果图







  
推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了Java中Currency类的getInstance()方法,该方法用于检索给定货币代码的该货币的实例。文章详细解释了方法的语法、参数、返回值和异常,并提供了一个示例程序来说明该方法的工作原理。 ... [详细]
  • 今天就跟大家聊聊有关怎么在Android应用中实现一个换肤功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根 ... [详细]
  • 详解Android  自定义UI模板设计_由浅入深
    学习安卓已有一些日子,前段时间整理了不少笔记,但是发现笔记不变分享与携带。今天开始整理博客,全当是与大家分享交流与自身学习理解的过程吧。结合最近在做的一个新闻类app及学习中的问题,一点一点整理一下, ... [详细]
  • 在一对一直播源码使用过程中,有时会出现软键盘切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此要对一对一直播源码表情面板无缝切换进行优化。 ... [详细]
  • fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ... [详细]
  • 当我在doWork方法中运行代码时,通过单击button1,进度条按预期工作.但是,当我从其他方法(即btn2,btn3)将列表传递给doWork方法时,进度条在启动后会跳转到10 ... [详细]
  • [翻译]PyCairo指南裁剪和masking
    裁剪和masking在PyCairo指南的这个部分,我么将讨论裁剪和masking操作。裁剪裁剪就是将图形的绘制限定在一定的区域内。这样做有一些效率的因素࿰ ... [详细]
author-avatar
尛妙苗_549
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有