风言枫语  

(1)ListView

实现如下:

MainActivity.java

public class MainActivity extends Activity {
	private ListView lv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		lv = (ListView) findViewById(R.id.listview);
		String[] title = this.getResources().getStringArray(R.array.title);
		String[] content = this.getResources().getStringArray(R.array.content);
		int[] image = { R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher };
		MyAdapter adapter = new MyAdapter(this, image, title, content);
		lv.setAdapter(adapter);

	}

}

MyAdapter.java

package com.example.listview_adapter;

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;

public class MyAdapter extends BaseAdapter {
	private Context context;
	private int[] image;
	private String[] title;
	private String[] content;

	public MyAdapter(Context context, int[] image, String[] title,
			String[] content) {
		// TODO Auto-generated constructor stub
		this.context = context;
		this.image = image;
		this.title = title;
		this.content = content;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return title.length;
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View arg1, ViewGroup arg2) {
		// TODO Auto-generated method stub
		ViewHolder holder;
		holder = new ViewHolder();
		if (arg1 == null) {
			LayoutInflater inflater = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

			arg1 = inflater.inflate(R.layout.listadapter_item, null);
			holder.imagView = (ImageView) arg1.findViewById(R.id.img1);
			holder.tv_title = (TextView) arg1
					.findViewById(R.id.listadapter_item_tv_title);
			holder.tv_content = (TextView) arg1
					.findViewById(R.id.listadapter_item_tv_content);
			arg1.setTag(holder);
		} else {
			holder = (ViewHolder) arg1.getTag();
		}

		holder.imagView.setImageResource(image[position]);
		holder.tv_title.setText(title[position]);
		holder.tv_content.setText(content[position]);
		return arg1;
	}

	private static class ViewHolder {
		private ImageView imagView;
		private TextView tv_title;
		private TextView tv_content;

	}

}

listadapter_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/img1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/des" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/listadapter_item_tv_title"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="1" />

        <TextView
            android:id="@+id/listadapter_item_tv_content"
            android:layout_width="wrap_content"
            android:layout_height="0dip"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:gravity="right" >

        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

</LinearLayout>

activity_main.xml

    <ListView
        android:id="@+id/listview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ListView>


(2)SpinnerView

MainActivity.java

public class MainActivity extends Activity {
  private Spinner spinner;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		spinner = (Spinner) findViewById(R.id.spinner1);
		String[] data= this.getResources().getStringArray(R.array.data);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,data);
		spinner.setAdapter(adapter);
		
	}


 

activity_main.xml

 <Spinner
        android:id="@+id/spinner1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

 

(3)GridView

MainActivity.java

public class MainActivity extends Activity {
	private GridView gView;
	private ImageView imageView;
	private List<Map<String, Object>> list;
	private Map<String, Object> map;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		gView = (GridView) findViewById(R.id.gv);
		imageView = (ImageView) findViewById(R.id.iv2);
		final int[] data = { R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher };
		list = new ArrayList<Map<String, Object>>();

		for (int i = 0; i < data.length; i++) {
			map = new HashMap<String, Object>();
			map.put("img", data[i]);
			list.add(map);
		}

		SimpleAdapter simpleAdapter = new SimpleAdapter(this, list,
				R.layout.lay_textview, new String[] { "img" },
				new int[] { R.id.iv });
		gView.setAdapter(simpleAdapter);
        gView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
			//	Toast.makeText(MainActivity.this,"这是第"+arg2+"张图",Toast.LENGTH_SHORT).show();
			imageView.setImageResource(data[arg2]);
			}
});
	}

}

activity_main.java

<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"
    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" >

    <GridView
        android:id="@+id/gv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numColumns="3" >
    </GridView>

    <ImageView
        android:id="@+id/iv2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>


testimg.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>


(4)Gallery



MainActvity.java

public class MainActivity extends Activity {
	private Gallery gallery;
	private MyAdapter myAdapter;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		gallery = (Gallery) findViewById(R.id.gallery);
		final int[] data = { R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher,
				R.drawable.ic_launcher, R.drawable.ic_launcher };
		 myAdapter = new MyAdapter(this,data);
		 gallery.setAdapter(myAdapter);
		

	}


MyAdapter.java

public class MyAdapter extends BaseAdapter {
	private Context context;
	private int[] data;
	public MyAdapter(Context context, int[] data) {
	this.context = context;
	this.data = data;
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return data.length;
	}

	@Override
	public Object getItem(int arg0) {
		// TODO Auto-generated method stub
		return arg0;
	}

	@Override
	public long getItemId(int arg0) {
		// TODO Auto-generated method stub
		return arg0;
	}

	@Override
	public View getView(int arg0, View arg1, ViewGroup arg2) {
		// TODO Auto-generated method stub
		LinearLayout linearLayout = new LinearLayout(context);
        linearLayout.setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
		ImageView imageView = new ImageView(context);
		imageView.setImageResource(data[arg0]);
		imageView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
		linearLayout.addView(imageView);
        return linearLayout;
	}

	

}

activity_main.java

    <Gallery
        android:id="@+id/gallery"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />



 

 

posted on 2013-08-23 18:51  风言枫语  阅读(253)  评论(0编辑  收藏  举报