我一直在将图像上传到FirebaseStorage,但在显示时往往是错误的.我发现ExifInterface可以确定图像的方向,并在必要时旋转和翻转它.
从手机上的图库区域选择图像时,出现此错误.
我可以从图库中选择手机上的图像,它可以显示在页面上.
URI地址和数据之间的差异是一个 /
Data.getData() address : content://media/external/images/media/53331
uri.toString() address: content:/media/external/images/media/53331
Run Code Online (Sandbox Code Playgroud)
我正在使用uri地址作为图像的绝对路径,以便能够在必要时旋转它.我将此值传递给另一个调用的方法modifyOrientation然后旋转它.一旦它被传递到方法,它就到达了这条线
ExifInterface ei = new ExifInterface(image_absolute_path);
然后在找不到文件时返回catch.
下面是我得到的整个错误以及我的所有代码.我该如何解决我遇到的这个问题.因此,当我将URI传递到下一个方法时,它实际上具有正确的地址.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
final FirebaseUser user = auth.getCurrentUser();
if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK)
{
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Displaying Image...");
progressDialog.show();
//imageUri = data.getData();
//Picasso.get().load(imageUri).into(profileImage);
final Uri uri = data.getData();
File file = new File(uri.toString());
file.getAbsolutePath();
progressDialog.dismiss();
try
{
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
modifyOrientation(bitmap,file.getAbsolutePath()); …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个可扩展的ListView内ScrollView。当我想在可扩展 ListView 中滚动时,我必须选择它并在滚动时按住它,否则整个页面都会滚动。这是我的代码
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kitkat.crossroads.JobBidsFragment">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:focusable="true"
android:focusableInTouchMode="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textViewJobInformation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/bebasneueregular"
android:text="Job Information"
android:textAlignment="center"
android:textSize="30dp"
tools:layout_editor_absoluteX="163dp"
tools:layout_editor_absoluteY="16dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewName"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/textViewJobName1"
android:layout_alignTop="@id/textViewJobName1"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingVertical="10dp"
android:text=" Job:"
android:textAlignment="viewStart"
android:textColor="#FF000000"
android:visibility="visible" />
<TextView
android:id="@+id/textViewJobName1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#FFFFFFFF"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingVertical="10dp"
android:text="text"
android:textColor="#FF000000"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="horizontal">
<TextView
android:id="@+id/viewDesc" …Run Code Online (Sandbox Code Playgroud)