模拟新浪微博随便看看

1.运行效果图:

2.分析:

项目模拟新浪微博随便看看,掌握ListView控件的使用和自定义ListAdapter适配器中的方法,顶部是自定义的表头文件,中间ListView中的数据中图片、昵称、文本都是在layout目录中定义的listview.xml资源;在layout中的main.xml中用RadioButton按钮添加了底部选择按钮功能。

3.主要代码:

(1).title.xml


   
   

   
     
     
    
    
 
    
    

 
    
    


   
   
 

(2).listvie.xml


   
     

   
     
  
    
    
      
  
    
    
      
  
    
    
      
  
        
     
       
  
            
      
        
            
      
        
  
            
      
        
            
      
        
        
     
       
        
     
       
        
     
       
    
    
      
  

   
     

(3).main.xml


   
   

   
   
    
    
    
    	
     
     
    	
     
     
    	
     
     
    		
      
      
    		
      
      
    		
      
      
    		
      
      
    		
      
      
    	
     
     
    
    
    

   
   

(4).activity_main.xml


   
   

   
   
    
    
    

    
    
    

    
    
    
         
     
     
         
        
     
     
   
     
    
    
 

   
   

另外在values下创建style.xml文件


   
   

   
   

    
    

   
   
 
 
类的代码:

实体类:

package en.bzu.edu.sina;

public class Listsina {
	private int image;
	private String name;
	private String info;
	private String time;
	//构造函数
	public Listsina(int image, String name, String info,String time) {
		super();
		this.image = image;
		this.name = name;
		this.info = info;
		this.time=time;
	}
	public int getImage() {
		return image;
	}
	public void setImage(int image) {
		this.image = image;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getInfo() {
		return info;
	}
	public void setInfo(String info) {
		this.info = info;
	}
	public String getTime() {
		return time;
	}
	public void setTime(String time) {
		this.time = time;
	}
	

}

自定义Adapter类:

package en.bzu.edu.sina;

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.ListView;
import android.widget.TextView;

public class ListAdapter extends ArrayAdapter {
	private int resourceId;
	private Context context;
	
	public ListAdapter(Context context, int textViewResourceId,List
   
   
    
    listsina) {
		super(context, textViewResourceId,listsina);
		resourceId = textViewResourceId;
		this.context=context;
	}
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		Listsina ls = (Listsina) getItem(position);  
		//1.
		//View view = LayoutInflater.from(getContext()).inflate(resourceId, null);
		//2.
		View view = LayoutInflater.from(context).inflate(resourceId, null);
		
		ImageView iv = (ImageView) view.findViewById(R.id.iv);
		TextView ivname = (TextView) view.findViewById(R.id.ivname);
		TextView info=(TextView) view.findViewById(R.id.info);
		TextView time=(TextView) view.findViewById(R.id.time);
		iv.setImageResource(ls.getImage());
		ivname.setText(ls.getName());
		info.setText(ls.getInfo());
		time.setText(ls.getTime());
		return view;
	}

	}

   
   
package en.bzu.edu.sina;

import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {
	private ListView lv;  
	//数据源
	private List
   
   
    
     weibolist = new ArrayList
    
    
     
     (); 
	      
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		intList();  
		lv = (ListView) findViewById(R.id.lv);
		//创建adapter
        ListAdapter adapter=new ListAdapter(this, R.layout.listview,weibolist);
        //绑定AdapterView和Adapter之间的关联
		lv.setAdapter(adapter);
		lv.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView
     
      adpterView, View view, int position,
					long id) {
				Listsina ls = weibolist.get(position);
				Toast.makeText(MainActivity.this, ls.getName(),
						Toast.LENGTH_SHORT).show();	

			}
		});
	}
	
	private void intList() {
		Listsina a = new Listsina (R.drawable.a,"嘟嘟","①万物至此皆已长大,故名立夏。②按气候学标准,日均气温稳定22℃以上为夏季;③ 南方有立夏饮茶、吃五色饭、称人的习俗;④江浙有转蛋、碰蛋、绘蛋等民俗;告别春天,#迎接夏天#!","半分钟前");
		weibolist.add(a);
		Listsina b= new Listsina(R.drawable.b, "潇湘雨雨雨", "全世界都不相信你,没关系,只要你相信自己,你就是偶像,如果不认命,那就去拼命。","3分钟前");
		weibolist.add(b);
		Listsina c= new Listsina(R.drawable.c, "悠悠嗯", "故事设定在上世纪30年代的伦敦,但主人公不再是原著小说中的Henry Jekyll,而是他的孙子Robert Jekyll,他企图解开自己身上的“诅咒”之谜(原著故事讲述一个试图将人性善恶分隔成两面的人,善良的一面是哲基尔医生,邪恶的一面则是海德先生.)","31分钟前");
		weibolist.add(c);
		Listsina d= new Listsina(R.drawable.d, "我是呀lala", "【北京迎64年来最冷5月天 市民称差点冻死在夏天】“好不容易熬过了冬天,却差点儿冻死在夏天。”这是昨天京城市民发自内心的感受。5月上旬最后一天,时已立夏,南郊观象台最高气温终止在12.4℃,昨天成为1951年以来京城最冷的5月上旬的日子。放眼大街,眼瞅着不少人穿上了羽绒服...北京晨报","46分钟前");
		weibolist.add(d);
	}	 

	public void Back(View v){
		this.finish();	
	}
	public void Edit(View v){}
	@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;
	}
}

    
    
   
   


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值