/ / 我正在使用ACTION_VIEW打开图片网址。以下是代码
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 :(得分:0)
如果图片位于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
来显示图像!