我是android的新手。在这个过程中,我想在用户点击gridview上的项目时获取图像文件。但我不知道如何保留它(图像文件)。我该怎么办?
这是我的主要活动
package com.example.mutitablesql;
+import java.io.File;
public class ChThemesActivity extends Activity{
private GridView gridview;
private ArrayList<Drawable> images;
private Context context;
private BooksDB db;
private MainActivity main;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_grid);
context = this;
db = new BooksDB(context);
//view matching
gridview = (GridView) findViewById(R.id.gridView);
//เตรียมภาพ
images = new ArrayList<Drawable>();
images.add(getResources().getDrawable(R.drawable.theme1));
//เรียกใช้ adapter
gridview.setAdapter(new GridviewAdapter(context, images));
//event
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position,
long id) {
}
});
//check bok_id
MainActivity mainAc = new MainActivity();
int bok_id = mainAc.bok_id;
Toast.makeText(getApplicationContext(), "book id is = "+bok_id, Toast.LENGTH_LONG).show();
}
}
这是我的适配器
package com.example.mutitablesql;
+import java.util.ArrayList;
public class GridviewAdapter extends BaseAdapter{
private Context context;
private ArrayList<Drawable> images;
private GridViewHolder gridviewholder;
//constructor
public GridviewAdapter(Context context,ArrayList<Drawable> images){
this.context = context;
this.images = images;
}
@Override
public int getCount() {
return this.images.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return this.images.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = LayoutInflater.from(context).inflate(R.layout.layout_griditem, null);
gridviewholder = new GridViewHolder();
gridviewholder.image = (ImageView) convertView.findViewById(R.id.imageView1);
convertView.setTag(gridviewholder);
}else{
gridviewholder = (GridViewHolder) convertView.getTag();
}
//assign
gridviewholder.image.setImageDrawable(images.get(position));
return convertView;
}
class GridViewHolder {
public ImageView image;
}
}
非常感谢