我想在HorizontalScrollView Images中显示来自相机的图像。
目前,在列表视图的每个项目中都添加了HorizontalScrollView和每个项目 HorizontalScrollView根据从sqlite获取的数据动态显示图像。 Sqlite预装了从我们的应用程序服务器下载的数据。
此外,在每个列表项目中,相机'按钮已添加。单击此按钮的单击事件。我将从Camera捕获的图像添加到现有的HorizontalScrollView。
我正在从我的应用程序中添加一些代码片段 -
1)首先,我试图在ArrayAdapter中的sqlite中在HorizontalScrollView中动态显示图像 -
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View row = convertView;
final Holder holder;
if (row == null)
{
LayoutInflater vi;
vi = LayoutInflater.from(getContext());
row = vi.inflate(R.layout.all_post_row, null);
holder = new Holder();
holder.horizontalScrollView = (HorizontalScrollView)row.findViewById(R.id.hlist);
holder.lLinearLayout=(LinearLayout)row.findViewById(R.id.innerlay);
row.setTag(holder);
}
else
{
holder = (Holder) row.getTag();
}
final All_Post all_Post = data.get(position);
String strListItem_ActivityId = all_Post.getStrActivityId();
Log.e("strListItem_ActivityId ", " = " + strListItem_ActivityId);
dbhelper = new MyDbHelper(AllPosts_Page.this);
SQLiteDatabase db = dbhelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from ActivityObjectList where activityId " + "= ? ", new String[]{strListItem_ActivityId});
imageArray.clear();
if (cursor.moveToFirst())
{
do
{
String imagePath = cursor.getString(cursor.getColumnIndex("imageaudioPath"));
Log.e("imagePath ", " = " + imagePath);
imageArray.add(imagePath);
}
while (cursor.moveToNext());
}
cursor.close();
db.close();
holder.lLinearLayout.removeAllViews();
final Iterator<String> it = imageArray.iterator();
while (it.hasNext())
{
final String imgElement = it.next();
int imgArraySize = imageArray.size();
Log.e("imgArraySize "," = " + imgArraySize);
final ImageView imageView = new ImageView (getContext());
final ProgressBar pBar = new ProgressBar(getContext(),null ,android.R.attr.progressBarStyleSmall);
imageView.setTag(it);
pBar.setTag(it);
imageView.setImageResource(R.drawable.img_placeholder);
pBar.setVisibility(View.VISIBLE);
Uri uri = Uri.fromFile(new File(path));
Picasso.with(getContext()).load(uri).placeholder(R.drawable.img_placeholder).resize(newWidth,fixHeight).into(imageView, new com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
if (pBar != null) {
pBar.setVisibility(View.GONE);
}
}
@Override
public void onError() {
}
});
holder.lLinearLayout.addView(imageView);
holder.lLinearLayout.addView(pBar);
}
2)2)这是我在ArrayAdapter类中的Camera按钮单击事件 -
holder.imgBtn_Camera.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Toast.makeText(context, "Camera" + " = ", Toast.LENGTH_SHORT).show();
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
});
3)这是onActivityResult方法实现,它位于Activity类 -
中 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_PIC_REQUEST)
{
activityObj_Id++;
intoString = Integer.toString(activityObj_Id);
SimpleDateFormat s = new SimpleDateFormat("ddMMyyyyhhmmss");
String dateformat = s.format(new Date());
Log.e("format", " and activityObj_Id = " + dateformat + " & " + activityObj_Id);
imageCamera_Path = activityObj_Id +"_"+ dateformat+".png";
downloadstatus = "1";
Log.e("imageCamera_Path", "= " + imageCamera_Path);
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
//imageView.setImageBitmap(thumbnail);
}
Log.e("Data Save","in onActivityResult Succesfully !!!!");
}
上面的代码应该显示从相机捕获到HorizontalScrollView的图像。但是,图像不会添加到滚动视图中。我无法理解它出了什么问题?我试图以多种方式修改代码。但它没有帮助。
请查看我的代码段,并告诉我是否遗漏了任何内容。
感谢。