Quantcast
Channel: Active questions tagged crash - Stack Overflow
Viewing all articles
Browse latest Browse all 7191

App crashes when clicking on any item with OnItemClickListener on array sort line

$
0
0

App works well until i click on any list item, it crashes.When using search it works well, but when i click it directly on list item app stops.Logcat and and debug shows same problem on line 153.I coomented line 153.First code is CribActivity last one is view activity, i dont know maybe it is somehow related to this error.

 @SuppressLint("UseValueOf") public class CribActivity extends Activity  {private ListView lv1;private EditText et;private String lv_arr[]={"item 1","item 2","item 67"        };private ArrayList<String> array_sort= new ArrayList<String>();int textlength=0;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    lv1 = (ListView) findViewById(R.id.listView);    et = (EditText) findViewById(R.id.EditText01);    lv1 = (ListView)findViewById(R.id.listView);    lv1.setAdapter(            new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_arr));    lv1.setTextFilterEnabled(true);    et.addTextChangedListener(new TextWatcher()    {    public void afterTextChanged(Editable s)    {    }    public void beforeTextChanged(CharSequence s,    int start, int count, int after)    {    }    public void onTextChanged(CharSequence s,    int start, int before, int count)    {    textlength = et.getText().length();    array_sort.clear();    for (int i = 0; i < lv_arr.length; i++)    {    if (textlength <= lv_arr[i].length())    {    if(et.getText().toString().equalsIgnoreCase(    (String)    lv_arr[i].subSequence(0,    textlength)))    {   array_sort.add(lv_arr[i]);                                 }                                   }                                  }    lv1.setAdapter(new ArrayAdapter<String>    (CribActivity.this,    android.R.layout.simple_list_item_1, array_sort));    }    });    lv1.setOnItemClickListener(new OnItemClickListener() {        public void onItemClick(AdapterView<?> a, View v, int position,                long id) {            String name = array_sort.get(position); //***THIS IS THE LINE 153***            for (int i = 0; i < lv_arr.length; i++) {                    if (name                            .equalsIgnoreCase(                                    (String) lv_arr[i])) {                        position = i;                         break;                    }            }            String itemname = new Integer(position).toString();            Intent intent = new Intent();            intent.setClass(CribActivity.this, ViewActivity.class);            Bundle b = new Bundle();            b.putString("defStrID", itemname);            intent.putExtras(b);            nt            startActivity(intent);        }    });}}

Debug:

E/AndroidRuntime: FATAL EXCEPTION: mainProcess: ru.tablica.sputnikovyh, PID: 24169java.lang.IndexOutOfBoundsException: Index: 1, Size: 0    at java.util.ArrayList.get(ArrayList.java:437)    at ru.tablica.sputnikovyh.CribActivity$2.onItemClick(CribActivity.java:153)    at android.widget.AdapterView.performItemClick(AdapterView.java:318)    at android.widget.AbsListView.performItemClick(AbsListView.java:1159)    at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136)    at android.widget.AbsListView.onTouchUp(AbsListView.java:4064)    at android.widget.AbsListView.onTouchEvent(AbsListView.java:3822)    at android.view.View.dispatchTouchEvent(View.java:12513)    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024)    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705)    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030)    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030)    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030)    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030)    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719)    at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:440)    at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1830)    at android.app.Activity.dispatchTouchEvent(Activity.java:3400)    at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:398)    at android.view.View.dispatchPointerEvent(View.java:12752)    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5106)    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4909)    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426)    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479)    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445)    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4585)    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453)    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4642)    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426)    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479)    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445)    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453)    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426)    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7092)    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7061)    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7022)    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7195)    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186)    at android.os.MessageQueue.nativePollOnce(Native Method)    at android.os.MessageQueue.next(MessageQueue.java:326)    at android.os.Looper.loop(Looper.java:160)    at android.app.ActivityThread.main(ActivityThread.java:6669)    at java.lang.reflect.Method.invoke(Native Method)    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

logcat:

    E/eglCodecCommon: GoldfishAddressSpaceHostMemoryAllocator: ioctl_ping failed for device_type=5,     ret=-1    E/AndroidRuntime: FATAL EXCEPTION: main    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0    at java.util.ArrayList.get(ArrayList.java:437)    at ru.tablica.sputnikovyh.CribActivity$2.onItemClick(CribActivity.java:156)    at android.widget.AdapterView.performItemClick(AdapterView.java:318)    at android.widget.AbsListView.performItemClick(AbsListView.java:1159)    at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136)    at android.widget.AbsListView$3.run(AbsListView.java:4052)    at android.os.Handler.handleCallback(Handler.java:873)    at android.os.Handler.dispatchMessage(Handler.java:99)    at android.os.Looper.loop(Looper.java:193)    at android.app.ActivityThread.main(ActivityThread.java:6669)    at java.lang.reflect.Method.invoke(Native Method)    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

ViewActivity

     public class ViewActivity extends Activity {     @Override     public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    requestWindowFeature(Window.FEATURE_NO_TITLE);    setContentView(R.layout.view);    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,            WindowManager.LayoutParams.FLAG_FULLSCREEN);    Bundle bundle = getIntent().getExtras();    String itemname = "n" + bundle.getString("defStrID");    Context context = getBaseContext();    String text = readRawTextFile(context, getResources().getIdentifier(itemname, "raw", "ru.tablica.sputnikovyh"));    WebView myWebView = (WebView) findViewById(R.id.webView);    String summary = "<!Doctype html><html><head><meta charset=utf-8></head><body>" + text +"</body></html>";    myWebView.loadData(summary, "text/html; charset=utf-8", "utf-8");}public static String readRawTextFile(Context ctx, int resId){    InputStream inputStream = ctx.getResources().openRawResource(resId);    InputStreamReader inputreader = new InputStreamReader(inputStream);    BufferedReader buffreader = new BufferedReader(inputreader);    String line;    StringBuilder text = new StringBuilder();    try {        while (( line = buffreader.readLine()) != null) {            text.append(line);            text.append('\n');        }    } catch (IOException e) {        return null;    }    return text.toString();}}

Viewing all articles
Browse latest Browse all 7191

Trending Articles