热门标签 | 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_ >



三、效果图







  
推荐阅读
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • PHP中的单例模式与静态变量的区别及使用方法
    本文介绍了PHP中的单例模式与静态变量的区别及使用方法。在PHP中,静态变量的存活周期仅仅是每次PHP的会话周期,与Java、C++不同。静态变量在PHP中的作用域仅限于当前文件内,在函数或类中可以传递变量。本文还通过示例代码解释了静态变量在函数和类中的使用方法,并说明了静态变量的生命周期与结构体的生命周期相关联。同时,本文还介绍了静态变量在类中的使用方法,并通过示例代码展示了如何在类中使用静态变量。 ... [详细]
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社区 版权所有