新浪实例
来源:互联网 发布:sap数据分析 编辑:程序博客网 时间:2024/05/12 02:33
文件1:PersonAdapter.java:
package com.example.adapter;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.javabean.Person;
import com.example.xinlong.R;
public class PersonAdapter extends ArrayAdapter {
int resourceId;
public PersonAdapter(Context context, int textViewResourceId, List<Person> data) {
super(context, textViewResourceId, data);
// TODO Auto-generated constructor stub
resourceId=textViewResourceId;
}
public View getView(int position,View convertView,ViewGroup parent){
//1.得到当前的数据(已封装成对象person)
Person person=(Person)getItem(position);
View view;
ViewHolder viewHolder;
//2.将子布局压进为view,并将子布局所有控件抽象成的类实例化(即定位控件)
//2.1.初次的情形
if(convertView==null){
//2.1.1.将子布局压进为view,并已经存入缓存convertview中
view=LayoutInflater.from(getContext()).inflate(resourceId, null);
//2.1.2.1.将子布局所有控件抽象成的类实例化(即定位控件)
viewHolder=new ViewHolder();
viewHolder.personImage=(ImageView) view.findViewById(R.id.ivIcon);
viewHolder.personName=(TextView)view.findViewById(R.id.tvtvTitle);
viewHolder.personText=(TextView)view.findViewById(R.id.tvContent);
//2.1.2.2.将上步的控件的定位存入view
view.setTag(viewHolder);
}
//2.2.初次以外的情形
else{
//2.2.1从缓存中取出view(子布局在之前压进成的view)
view=convertView;
//2.2.2从view中取出在之前实例化好的convertView(找到控件)
viewHolder=(ViewHolder)view.getTag();
}
//3.将上步找到的控件设置内容
viewHolder.personImage.setImageResource(person.getImgId());
viewHolder.personName.setText(person.getString1());
viewHolder.personText.setText(person.getString2());
return view;
}
class ViewHolder{
ImageView personImage;
TextView personName;
TextView personText;
}
}
文件2:Person.java:
package com.example.javabean;
public class Person {
int imgId;
String string1;
String string2;
public Person(int imgId, String string1, String string2) {
super();
this.imgId = imgId;
this.string1 = string1;
this.string2 = string2;
}
public int getImgId() {
return imgId;
}
public void setImgId(int imgId) {
this.imgId = imgId;
}
public String getString1() {
return string1;
}
public void setString1(String string1) {
this.string1 = string1;
}
public String getString2() {
return string2;
}
public void setString2(String string2) {
this.string2 = string2;
}
}
文件3:MainActivity.java:
package com.example.xinlong;
import java.util.ArrayList;
import java.util.List;
import com.example.adapter.PersonAdapter;
import com.example.javabean.Person;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1.准备数据
List list=new ArrayList();
Person person=new Person(R.drawable.ic_launcher,"吉洋洋","今天太开心了");
//person.setImgId(R.drawable.ic_launcher);
//person.setString1("吉洋洋");
//person.setString2("今天太开心了");
list.add(person);
//2.找到控件
listView=(ListView) findViewById(R.id.listView1);
//3.创建适配器
PersonAdapter adapter=new PersonAdapter(this,R.layout.zilayout,list);
//4.将控件绑定适配器
listView.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
文件4:activity_main.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" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
文件5:zilayout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/ivIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:layout_marginTop="14dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tvtvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/ivIcon"
android:layout_marginLeft="31dp"
android:layout_toRightOf="@+id/ivIcon"
android:text="TextView" />
<TextView
android:id="@+id/tvContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/ivIcon"
android:layout_alignLeft="@+id/tvtvTitle"
android:text="TextView" />
</RelativeLayout>
- 新浪实例
- android新浪分享实例
- 使用Android授权新浪微博实例
- 新浪新闻按关键字抓取实例
- 新浪短地扯PHP实例
- 新浪
- 新浪
- 新浪
- 如何使用.NET调用新浪微博接口的实例
- 新浪微博OAuth 2.0接口简单实例例
- Sencha Touch开发实例:新浪微博iPhone界面
- [Android] PorterDuff使用实例----实现新浪微博图片下载效果
- [Android] PorterDuff使用实例----实现新浪微博图片下载效果
- PHP使用新浪微博登入第三方网站实例代码
- (1)【Android】Merge讲解与实例_MacroCheng_新浪博客
- [Android] PorterDuff使用实例----实现新浪微博图片下载效果
- 安卓新浪微博分享实例代码
- 新浪微博发布一条微博和图片的接口调用实例
- 读懂Java中的Socket编程
- Tomcat7+Redis存储Session
- IOS开发语言Swift入门连载---嵌套类型
- 继承HibernateDaoSupport进行CURD操作
- 3n+1
- 新浪实例
- C语言函数操作大全----(超详细)
- 回调函数
- 堆和栈和区别(转)
- 在dos控制台下运行Java程序
- 没那么简单就能找到聊得来的伴
- POJ 1053 Set Me
- htmlparser 基本解析网站
- 回文数