-1

My application gets stopped unfortunately when the code is executed.as it is a adapter activity i am totally confused.

import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import  com.nostra13.universalimageloader.core.listener.ImageLoadingProgressListener;
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
import com.shuan.Project.R;
import com.shuan.Project.list.Sample;

import java.util.ArrayList;


public class SelectedListAdapter extends BaseAdapter {

private Context mContext;
private ArrayList<Sample> list;
private LayoutInflater inflater;
private DisplayImageOptions options;


public SelectedListAdapter(Context mContext, ArrayList<Sample> list) {
    this.mContext = mContext;
    this.list = list;
    inflater = LayoutInflater.from(mContext);
    options = new DisplayImageOptions.Builder()
            .cacheInMemory(true)
            .cacheOnDisk(true)
            .showImageOnLoading(R.drawable.user)
            .showImageForEmptyUri(R.drawable.user)
            .showImageOnFail(R.drawable.user)
            .considerExifParams(true)
            .bitmapConfig(Bitmap.Config.RGB_565)
            .build();
}

@Override
public int getCount() {
    return list.size();
}

@Override
public Object getItem(int position) {
    return position;
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Sample curr = list.get(position);

    convertView = inflater.inflate(R.layout.select_list_item, null);
    ImageView usrImg = (ImageView) convertView.findViewById(R.id.usr_img);
    TextView name = (TextView) convertView.findViewById(R.id.name);
    TextView dt = (TextView) convertView.findViewById(R.id.intrvew_d_t);
    TextView venue = (TextView) convertView.findViewById(R.id.intrvew_venue);
    TextView type = (TextView) convertView.findViewById(R.id.intrvew_type);
    //(1)
    String[] getdt = curr.getLevel().split("-", 3);
    String yr = getdt[0];
    String mnth = getdt[1];
    String dat = getdt[2];// if i hide this portion from (1) tha app does not stops but the date does not comes in format


    name.setText(curr.getProPic());
    dt.setText("Date & Time : " + dat + " ' " + mnth + " ," + curr.getPos());
    venue.setText("Venue : " + curr.getName());

    if (curr.getCompanyName().equalsIgnoreCase("1")) {
        type.setText("Interview Type : Face to Face");
    } else if (curr.getCompanyName().equalsIgnoreCase("2")) {
        type.setText("Interview Type : Video Chat");
    } else {
        type.setText("Interview Type : Voice Chat");
    }


    ImageLoader.getInstance().displayImage(curr.getU_id(), usrImg, options, new SimpleImageLoadingListener() {

        @Override
        public void onLoadingStarted(String imageUri, View view) {
            super.onLoadingStarted(imageUri, view);
        }

        @Override
        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
            super.onLoadingFailed(imageUri, view, failReason);
        }

        @Override
        public void onLoadingCancelled(String imageUri, View view) {
            super.onLoadingCancelled(imageUri, view);
        }

        @Override
        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
            super.onLoadingComplete(imageUri, view, loadedImage);
        }
    }, new ImageLoadingProgressListener() {
        @Override
        public void onProgressUpdate(String s, View view, int i, int i1) {

        }
    });

    return convertView;
  }
 }

if i hide the portion from (1) tha app does not stops, but the date does not comes in format. the log cat shows like error in index and length .what would be error with my code?

My log cat

FATAL EXCEPTION: main

Process: com.shuan.Project, PID: 27060

java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at com.shuan.Project.adapter.SelectedListAdapter.getView(SelectedListAdapter.java:74)

at android.widget.AbsListView.obtainView(AbsListView.java:2467)
at android.widget.ListView.makeAndAddView(ListView.java:1894)
at android.widget.ListView.fillDown(ListView.java:710)
at android.widget.ListView.fillFromTop(ListView.java:771)
at android.widget.ListView.layoutChildren(ListView.java:1695)
at android.widget.AbsListView.onLayout(AbsListView.java:2230)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1195)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1695)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:122)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1192)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:814)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16001)
at android.view.ViewGroup.layout(ViewGroup.java:5181)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2483)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2180)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1292)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6598)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:800)
at android.view.Choreographer.doCallbacks(Choreographer.java:603)
at android.view.Choreographer.doFrame(Choreographer.java:572)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:786)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5649)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Wasi Ahmad
  • 35,739
  • 32
  • 114
  • 161
Nazim ch
  • 834
  • 8
  • 20

2 Answers2

0

java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at com.shuan.Project.adapter.SelectedListAdapter.getView(SelectedListAdapter.java:74)

it means you are trying to pull second item from an array/list which has only single item .

check exactly at java : 74

D.J
  • 1,439
  • 1
  • 12
  • 23
0

I have replaced this code

name.setText(curr.getProPic());
dt.setText("Date & Time : " + dat + " ' " + mnth + " ," + curr.getPos());
venue.setText("Venue : " + curr.getName());

with this

name.setText(curr.getProPic());
dt.setText("Date & Time : " + curr.getLevel() + " ," + curr.getPos());
venue.setText("Venue : " + curr.getName());

now application works smooth :-)

Nazim ch
  • 834
  • 8
  • 20