当我到达ListView,Android中的最后一项时,如何停止向下滚动

时间:2016-01-09 21:00:40

标签: java android listview

我在android api 23中制作ListView,但是当我构建它时,每件事都可以,但是当我向下滚动到列表视图的末尾时,应用程序就会粉碎。

我的问题是如何修复这个错误。

谢谢大家。

代码:

package com.company.ramez.worldgame;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class CountryList2Activity extends Activity {
    ListView list;
    String[] titles;
    int[] images = {
        R.drawable.afghanistan, R.drawable.albania, R.drawable.algeria, R.drawable.angola, R.drawable.andorra, R.drawable.antiguaanbuda, R.drawable.antiguaandbarbuda, R.drawable.australia, R.drawable.austria, R.drawable.zambia
    };


    @
    Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_countr_list);
        Resources res = getResources();
        titles = res.getStringArray(R.array.title);
        list = (ListView) findViewById(R.id.listview);
        Ramezadapter ra = new Ramezadapter(this, titles, images);

        list.setAdapter(ra);
    }
}

class Ramezadapter extends ArrayAdapter < String > {
    Context context;
    int[] images1;
    String[] titlearray;
    Ramezadapter(Context c, String[] titles, int img[]) {
        super(c, R.layout.activity_country__list__item, R.id.i_country_name, titles);
        this.context = c;
        this.images1 = img;
        this.titlearray = titles;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        if (row == null) {
            LayoutInflater infleter = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = infleter.inflate(R.layout.activity_country__list__item, parent, false);
        }
        ImageView myimage = (ImageView) row.findViewById(R.id.c_logo);
        TextView mytext = (TextView) row.findViewById(R.id.i_country_name);
        myimage.setImageResource(images1[position]);
        mytext.setText(titlearray[position]);

        return row;
    }
}

错误

java.lang.ArrayIndexOutOfBoundsException: length = 10;
index = 10
at com.company.ramez.worldgame.Ramezadapter.getView(CountryList2Activity.java: 62)
at android.widget.AbsListView.obtainView(AbsListView.java: 2346)
at android.widget.ListView.makeAndAddView(ListView.java: 1875)
at android.widget.ListView.fillDown(ListView.java: 702)
at android.widget.ListView.fillGap(ListView.java: 666)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java: 5029)
at android.widget.AbsListView.onGenericMotionEvent(AbsListView.java: 4054)
at android.view.View.dispatchGenericMotionEventInternal(View.java: 9404)
at android.view.View.dispatchGenericMotionEvent(View.java: 9385)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java: 2067)
at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java: 2018)
at android.view.View.dispatchGenericMotionEvent(View.java: 9378)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java: 2067)
at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java: 2018)
at android.view.View.dispatchGenericMotionEvent(View.java: 9378)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java: 2067)
at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java: 2018)
at android.view.View.dispatchGenericMotionEvent(View.java: 9378)
at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java: 2067)
at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java: 2018)
at android.view.View.dispatchGenericMotionEvent(View.java: 9378)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchGenericMotionEvent(PhoneWindow.java: 2411)
at com.android.internal.policy.PhoneWindow.superDispatchGenericMotionEvent(PhoneWindow.java: 1747)
at android.app.Activity.dispatchGenericMotionEvent(Activity.java: 2801)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchGenericMotionEvent(PhoneWindow.java: 2378)
at android.view.View.dispatchPointerEvent(View.java: 9516)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java: 4230)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java: 4096)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java: 3642)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java: 3695)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java: 3661)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java: 3787)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java: 3669)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java: 3844)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java: 3642)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java: 3695)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java: 3661)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java: 3669)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java: 3642)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java: 5922)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java: 5896)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java: 5857)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java: 6025)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java: 185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java: 323)
at android.os.Looper.loop(Looper.java: 135)
at android.app.ActivityThread.main(ActivityThread.java: 5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 616)

0 个答案:

没有答案