(2)OnItemClick的使用方式。
二、方法
三、程式碼
a.顯示的Intent
在建構Intent時已經指定接收者,類似函式調用的方式。
b.隱藏式的Intent
在建構Intent時並沒有指定接收者,之後在傳送。
在建構Intent時已經指定接收者,類似函式調用的方式。
b.隱藏式的Intent
在建構Intent時並沒有指定接收者,之後在傳送。
Activity.java
package tw.test2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Gallery;
import android.widget.Toast;
public class Test2Activity extends Activity {
	private Gallery gallery;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        gallery=(Gallery)findViewById(R.id.gallery);
        
        //希宣告一個類別,用來設定圖片資訊
        ImageAdapter imageAdapter=new ImageAdapter(this);
        
        //加入圖片
        Integer[] mImageIds={R.drawable.icon,R.drawable.ha};
        
        //設定圖片位置
        imageAdapter.setmImageIds(mImageIds);
        
        //圖片高度
        imageAdapter.setHeight(100);
        //圖片寬度
        imageAdapter.setWidth(200);
        
        gallery.setAdapter(imageAdapter);
        
        //當按下圖片時,所觸發的事件
        gallery.setOnItemClickListener(new OnItemClickListener(){
			@Override
			public void onItemClick(AdapterView parent, View view, int position,
					long id) {
				// TODO Auto-generated method stub
				Toast.makeText(Test2Activity.this, "您選的是第"+position+"張圖", Toast.LENGTH_LONG).show();
				
				//換頁
				Intent intent = new Intent();
				intent.setClass(Test2Activity.this, Report.class);
				/*
				 * 這邊是你要帶過去的資料
				 */
				intent.putExtra("test", "第二頁囉");
				startActivity(intent);
			}});
    }
}
ImageAdapter.java
package tw.test2;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
public class ImageAdapter extends BaseAdapter {
    private Context mContext;
    private Integer width;
    private Integer height;
    private Integer[] mImageIds;
    public ImageAdapter(Context c) {
        mContext = c;
    }
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);
        //設定圖片來源
        imageView.setImageResource(mImageIds[position]);
        //設定圖片的寬、高
        imageView.setLayoutParams(new Gallery.LayoutParams(width, height));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        return imageView;
    }
    public Integer getHeight() {
        return height;
    }
    public void setHeight(Integer height) {
        this.height = height;
    }
    public Integer[] getmImageIds() {
        return mImageIds;
    }
    public void setmImageIds(Integer[] mImageIds) {
        this.mImageIds = mImageIds;
    }
    public Integer getWidth() {
        return width;
    }
    public void setWidth(Integer width) {
        this.width = width;
    }
    public int getCount() {
        return mImageIds.length;
    }
    public Object getItem(int position) {
        return position;
    }
    public long getItemId(int position) {
        return position;
    }
}
Report.java
package tw.test2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
public class Report extends Activity {
      /** Called when the activity is first created. */
 @Override
       public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.report);
               
               Intent intent = this.getIntent();
               String showtest=intent.getStringExtra("test");
               
               Toast.makeText(Report.this,showtest.toString(), Toast.LENGTH_LONG).show();          
               
 }
}
記得加入(AndroidManifest.xml)
