2016-05-30 167 views
0

/ / 我正在使用ACTION_VIEW打开图片URL。以下是密码ACTION_VIEW打开url无法正常工作

ImageView _presImage1= (ImageView) view_local.findViewById(R.id.img_prescription1); 
    Picasso.with(this.getContext()).load(img_url).placeholder(R.mipmap.ic_launcher).into(_presImage1); 

    _presImage1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent=new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      Log.i("ABHINAY","Image is clicked:" + img_url); 
      intent.setDataAndType(Uri.parse(img_url),"image/*"); 
      startActivity(intent); 
     } 
    }); 

但是图像不会在点击时打开。通过的网址是有效的,并在浏览器中正常打开。

下面是一个XML文件,我使用

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal" 
     android:baselineAligned="false"> 

     <android.support.v7.widget.CardView 
      xmlns:card_view="http://schemas.android.com/apk/res-auto" 
      android:layout_gravity="top" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight = "1" 
      card_view:cardCornerRadius="4dp" 
      android:layout_margin="5dp"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:background="@color/primary"> 

       <ImageView android:id="@+id/img_prescription1" 
        android:layout_width="wrap_content" 
        android:layout_height="200dp" 
        android:layout_gravity="top" 
        android:src = "@drawable/bg_nav"/> 

       <com.medquil.medquil.views.MyTextView android:padding = "4dp" 
        android:id="@+id/doctor_name" 
        android:layout_height = "wrap_content" 
        android:layout_width = "wrap_content" 
        android:textColor = "@color/white" 
        android:textSize="16dp" 
        android:layout_gravity="center" 
        android:gravity="center_horizontal" 
        android:text="Dr. Abhishek Ekbote" 
        android:layout_centerHorizontal="true"/> 

       <com.medquil.medquil.views.MyTextView android:padding = "4dp" 
        android:id="@+id/prescription_date" 
        android:layout_height = "wrap_content" 
        android:layout_width = "wrap_content" 
        android:layout_gravity="center" 
        android:textColor="@color/black" 
        android:text="12th March 2016" 
        android:layout_centerHorizontal="true"/> 

      </LinearLayout> 

     </android.support.v7.widget.CardView> 

     <android.support.v7.widget.CardView 
      xmlns:card_view="http://schemas.android.com/apk/res-auto" 
      android:layout_gravity="top" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight = "1" 
      card_view:cardCornerRadius="4dp" 
      android:layout_margin="5dp"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:background="@color/primary"> 

       <ImageView android:id="@+id/img_prescription2" 
        android:layout_width="wrap_content" 
        android:layout_height="200dp" 
        android:layout_gravity="top" 
        android:src = "@drawable/bg_nav"/> 

       <com.medquil.medquil.views.MyTextView android:padding = "4dp" 
        android:id="@+id/doctor_name1" 
        android:layout_height = "wrap_content" 
        android:layout_width = "wrap_content" 
        android:textColor = "@color/white" 
        android:textSize="16dp" 
        android:layout_gravity="center" 
        android:gravity="center_horizontal" 
        android:text="Dr. Abhishek Ekbote" 
        android:layout_centerHorizontal="true"/> 

       <com.medquil.medquil.views.MyTextView android:padding = "4dp" 
        android:id="@+id/prescription_date1" 
        android:layout_height = "wrap_content" 
        android:layout_width = "wrap_content" 
        android:layout_gravity="center" 
        android:textColor="@color/black" 
        android:text="12th March 2016" 
        android:layout_centerHorizontal="true"/> 

      </LinearLayout> 

     </android.support.v7.widget.CardView> 


    </LinearLayout> 

</ScrollView> 

下面是Java功能

private void addPrescriptionChilddouble(final String img_url, String name, String created_date, final String img_url1, String name1, String created_date1) { 
    LayoutInflater li= (LayoutInflater)getActivity().getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    LinearLayout ll= (LinearLayout)view.findViewById(R.id.parentMedicalHistory); 
    final View view_local=li.inflate(R.layout.fragment_medical_history_child_double, null); 

    //FIRST 
    TextView doctor_name=(TextView) view_local.findViewById(R.id.doctor_name); 
    TextView date_created=(TextView) view_local.findViewById(R.id.prescription_date); 

    int count=ll.getChildCount();count++; 
    doctor_name.setText(name); 
    date_created.setText(created_date); 
    ImageView _presImage1= (ImageView) view_local.findViewById(R.id.img_prescription1); 
    Picasso.with(this.getContext()).load(img_url).placeholder(R.mipmap.ic_launcher).into(_presImage1); 

    _presImage1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent=new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      Log.i("ABHINAY","Image is clicked:" + img_url); 
      intent.setDataAndType(Uri.parse(img_url),"image/*"); 
      startActivity(intent); 
     } 
    }); 

    //SECOND 
    TextView doctor_name1=(TextView) view_local.findViewById(R.id.doctor_name1); 
    TextView date_created1=(TextView) view_local.findViewById(R.id.prescription_date1); 

    doctor_name1.setText(name1); 
    date_created1.setText(created_date1); 
    ImageView _presImage2= (ImageView) view_local.findViewById(R.id.img_prescription2); 
    Picasso.with(this.getContext()).load(img_url1).placeholder(R.mipmap.ic_launcher).into(_presImage2); 

    _presImage2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent=new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      Log.i("ABHINAY", "Image is clicked:" + img_url1); 
      intent.setDataAndType(Uri.parse(img_url1),"image/*"); 
      startActivity(intent); 
     } 
    }); 

    ll.addView(view_local); 
} 
+0

图像是否从该URL的ImageView加载? –

+0

@ShreeKrishna是的图像加载到ImageView – Abhinay

+0

隐藏状态栏被认为是加载显示图像的完整大小像'imgView.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);'。你尝试过吗? –

回答

0

如果图像位于远程URL像http://images.all-free-download.com/images/graphiclarge/daisy_pollen_flower_220533.jpg使用此代码在您的OnClickListener()

String url = "http://images.all-free-download.com/images/graphiclarge/daisy_pollen_flower_220533.jpg"; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(url)); 
startActivity(i); 

但是,如果您尝试显示图像在资源文件夹等本地资源中,则无法在浏览中显示该图像,并且您可以通过使用WebView来缩小图像的尺寸!