该安卓程序实现的是关于模拟新浪微博随便看看栏目
1.运行效果图如下:
2.UI布局中布局的显示: 实现方式就是布局的嵌套。
1.运行效果图如下:
2.UI布局中布局的显示: 实现方式就是布局的嵌套。
<LinearLayout 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:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/tv_title" />
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp">
</ListView>
</LinearLayout>
3.ListView控件的使用。
首先是创建数据源,然后就是创建适配器,然后是建立Adapter和数据的关联,建立AdapterView和Adapter之间的关联。
代码如下:
package cn.edu.bzu.sinalook;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
public class MainActivity extends Activity {
private MyAdapter adapter;
private ListView lv;
private List<ListCell> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lv);
list = new ArrayList<ListCell>();
//测试数据
list.add(new ListCell(R.drawable.a, "小雪", "3分钟前", "雪地里来了一群小画家"));
list.add(new ListCell(R.drawable. b, "小敏", "15分钟前", "小鸭画梅花"));
list.add(new ListCell(R.drawable.c ,"小花", "18分钟前", "小狗画竹叶"));
list.add(new ListCell(R.drawable.d, "小辉", "25分钟前", "祝福大家新年好"));
list.add(new ListCell(R.drawable.e, "小雨", "40分钟前", "我们唱歌我们跳舞"));
list.add(new ListCell(R.drawable.f, "小月", "58分钟前", "同一个世界同一个梦想"));
list.add(new ListCell(R.drawable.g, "小青", "1小时前", "林徽因"));
adapter=new MyAdapter(MainActivity.this,list);
lv.setAdapter(adapter);
}
}
package cn.edu.bzu.sinalook;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
/**
* @author
* Date: 2015-5-4
* Des: 自定义的适配器,
*
*/
public class MyAdapter extends BaseAdapter {
private List<ListCell> list;
private Context context;
public MyAdapter(Context context, List<ListCell> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
return list.size();//列表长度
}
@Override
public Object getItem(int arg0) {
return list.get(arg0);//根据arg0 返回列表项
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
if (arg1 == null) {
arg1 = LayoutInflater.from(context).inflate(R.layout.list_cell,null);
}
ListCell lc = list.get(arg0);
ImageView iconId = (ImageView) arg1.findViewById(R.id.ivIcon);
TextView tvName = (TextView) arg1.findViewById(R.id.tvName);
TextView tvTime = (TextView) arg1.findViewById(R.id.tvTime);
TextView tvContent = (TextView) arg1.findViewById(R.id.tvContent);
iconId.setBackgroundResource(lc.getIconId());
tvName.setText(lc.getTvName());
tvTime.setText(lc.getTvTime());
tvContent.setText(lc.getTvContent());
return arg1;
}
}