:이 오류 로그 라인
이
도와주세요 난 화재
를 온 클릭 할 때마다
이
package com.myapp.app;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Environment;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.myapp.app.model.AndroidVersion;
import com.squareup.picasso.Picasso;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
private ArrayList<AndroidVersion> android;
private Context context;
private ImageView content;
public DataAdapter(Context context,ArrayList<AndroidVersion> android) {
this.android = android;
this.context = context;
}
@Override
public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_row, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(DataAdapter.ViewHolder viewHolder, int i) {
viewHolder.tv_name.setText(android.get(i).getName());
viewHolder.tv_version.setText(android.get(i).getVer());
Picasso.with(context).load(android.get(i).getApi()).into(viewHolder.img_android);
Picasso.with(context).load(android.get(i).getImage()).into(viewHolder.image_android);
viewHolder.btshare.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/// button click event
content = (ImageView) v.findViewById(R.id.image_android);
content.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache());
File cachePath = new File("/DCIM/Camera/image.jpg");
try {
cachePath.createNewFile();
FileOutputStream ostream = new FileOutputStream(cachePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, ostream);
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}
Intent share = new Intent(Intent.ACTION_SEND);
Uri phototUri = Uri.parse("/DCIM/Camera/image.jpg");
share.setData(phototUri);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, phototUri);
v.getContext().startActivity(Intent.createChooser(share,"Share via"));
}
});
}
@Override
public int getItemCount() {
return android.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
private TextView tv_name,tv_version;
private ImageView img_android,image_android;
private Button btshare;
public ViewHolder(View view) {
super(view);
btshare = (Button) view.findViewById(R.id.btshare);
tv_name = (TextView)view.findViewById(R.id.tv_name);
tv_version = (TextView)view.findViewById(R.id.tv_version);
img_android = (ImageView)view.findViewById(R.id.img_android);
image_android = (ImageView)view.findViewById(R.id.image_android);
}
}
}
그것은 힘이 응용 프로그램을 닫습니다 :
나는이 데이터 어댑터가 을 ViewHolder
에 설정하고에 설정하지 마세요..
스택 추적도 게시 할 수 있습니까? –
은 오류보기 – DipanIns
을 추가했습니다. 이제 button view 내에서 imageview를 찾고 있기 때문에'content = (ImageView) v.findViewById (R.id.image_android);'content = viewHolder.getImage_android()에 의해 오류 라인이 추가되었습니다. –