저는 New android입니다. 나는 Documents Scanner 응용 프로그램을 만들고 싶습니다. 그래서 자르기 기능을 사용하여 GitHub 라이브러리는 목록보기에 자르기 이미지를 표시하려고한다는 것을 알고 있습니다. 이를 위해 나는 github에서 유니버설 이미지 로더 라이브러리를 사용하지만 여전히 오류가 있습니다. 이 라이브러리 내가사용자 지정 목록보기에 이미지를 배치하는 방법
내 주요 활동은 다음
public class MainActivity extends AppCompatActivity {
Button btn;
Context context = this;
public static final int REQUEST_Code = 99;
ImageView mImageView;
int prefrences = ScanConstants.OPEN_CAMERA;
ListView mListView;
ArrayAdapter<String > images_adapter;
ImageLoader imageLoader;
ArrayList images_Uri;
DisplayImageOptions options;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView= (ListView) findViewById(R.id.mListView);
btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showdialogebox();
}
});
}
private void showdialogebox() {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Take Phote");
final String item[] = {"Take form cam", "Take form file"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_item, item);
AlertDialog.Builder builder1 = builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0) {
Intent intent = new Intent(getApplicationContext(), ScanActivity.class);
intent.putExtra(ScanConstants.OPEN_INTENT_PREFERENCE, prefrences);
startActivityForResult(intent, REQUEST_Code);
}
}
});
builder.show();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri uri = data.getExtras().getParcelable(ScanConstants.SCANNED_RESULT);
getContentResolver().delete(uri, null, null);
images_Uri.add(uri);
Image_Adapter adapter=new Image_Adapter(getApplicationContext(),R.layout.single_image_view,images_Uri);
mListView.setAdapter(adapter);
}
}
인 나에게 여기
을 몇 가지 간단한 솔루션을 제공주십시오 libs와 폴더에 넣어 내 Image_Adapter 클래스 코드는
public class Image_Adapter extends ArrayAdapter<ViewHolderImage> {
Context context;
int resourceid;
public final static String IMAGE_PATH = Environment
.getExternalStorageDirectory().getPath() + "/scanSample";
ArrayList images=null;
public Image_Adapter(Context context, int resource, ArrayList images) {
super(context,resource,images);
this.context=context;
this.resourceid=resource;
this.images=images;
}
ViewHolderImage holderImage=null;
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView==null){
LayoutInflater inflater=((Activity)context).getLayoutInflater();
convertView=inflater.inflate(resourceid,parent,false);
holderImage=new ViewHolderImage();
holderImage.imageView=(ImageView)convertView.findViewById(R.id.mImageView);
convertView.setTag(holderImage);
}else
{
holderImage=(ViewHolderImage)convertView.getTag();
}
holderImage.imageView.setMaxWidth(100);
holderImage.imageView.setMaxWidth(100);
ImageLoader imageLoader =null;
imageLoader.displayImage(IMAGE_PATH,holderImage.imageView);
return convertView;
}
}
ViewHolderImage 클래스 코드는
입니다.enter code here
public class ViewHolderImage {
ImageView imageView;
}
이로그 고양이에 오류 쇼`
>>>> Normal User
11-24 22:22:11.180 25628-25628/com.example.hassanjan.documentsscannerapp1 E/dalvikvm: >>>>> com.example.hassanjan.documentsscannerapp1 [ userId:0 | appId:10236 ]
11-24 22:22:11.490 25628-25628/com.example.hassanjan.documentsscannerapp1 E/InstantRun: Could not find slices in APK; aborting.
11-24 22:22:11.720 25628-25628/com.example.hassanjan.documentsscannerapp1 E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
11-24 22:22:16.906 25628-25628/com.example.hassanjan.documentsscannerapp1 E/ViewRootImpl: sendUserActionEvent() mView == null
11-24 22:22:33.664 25628-25628/com.example.hassanjan.documentsscannerapp1 E/ViewRootImpl: sendUserActionEvent() mView == null
11-24 22:22:42.223 25628-25628/com.example.hassanjan.documentsscannerapp1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.hassanjan.documentsscannerapp1, PID: 25628 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=99, result=-1, data=Intent { (has extras) }} to activity {com.example.hassanjan.documentsscannerapp1/com.example.hassanjan.documentsscannerapp1.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.deliverResults(ActivityThread.java:3580)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3623)
at android.app.ActivityThread.access$1400(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1328)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5487)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.example.hassanjan.documentsscannerapp1.MainActivity.onActivityResult(MainActivity.java:114)
at android.app.Activity.dispatchActivityResult(Activity.java:5643)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3576)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3623)
at android.app.ActivityThread.access$1400(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1328)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5487)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
** 주요 활동에 Hassanjan114에 오류 쇼 **
images_Uri.add(uri);
오류를 알려 주시면 감사하겠습니다을 만들기위한 튜토리얼입니다. 이해 한 것을 바탕으로,'onCreate()'에'ListView' 어댑터를 설정해야합니다. 또한'adapter'에서'notifyDataSetChanged()'에 대한 호출을 보지 못했습니다. –
라이브러리를 libs 폴더에 넣는 대신에 gradle을 사용해야합니다. – heloisasim
사용자는 listview에 대해서도 사용자 정의 레이아웃을 만들어야합니다. –