(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)