(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)
沒有留言:
張貼留言