1

カスタム行レイアウト (2 つの TextViews) を使用して、LinearLayout 内で ListView を使用しています。ListView には、未加工のファイルから文字列が取り込まれます。android:fastScrollEnabled="true"ListViewでも使用しています。onClickListener も実装しました。エミュレーターでアプリをテストすると、正常に動作し、すべてのアイテムをクリックして、そのアイテムのアクティビティを開始できます。しかし、実際のデバイスでテストすると、10000 を超えるアイテムのうち、100 程度しかクリックできません。他の人をクリックしても何も起こりません。次のコードに何か問題がありますか?

InputStream inputStream = getResources().openRawResource(R.raw.definitions);
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    try 
    {
        HashMap<String, String> item;

        while ((line = reader.readLine()) != null) 
        {
            String[] strings = TextUtils.split(line, ";");
            if (strings.length <= 2) 
            {
                item = new HashMap<String, String>();
                item.put("line1", strings[0].trim());
                item.put("line2", strings[1].trim());
                list.add(item);
            }
        }


        mTextView.setText("");

        sa = new SimpleAdapter(this, list,
                R.layout.result,
                new String[] { "line1","line2" },
                new int[] {R.id.word, R.id.definition});

        mListView.setAdapter(sa);

        reader.close();

        mListView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
            {
                Intent wordIntent = new Intent(getApplicationContext(), GesloActivity.class);
                Uri data = Uri.withAppendedPath(PodajalecGesel.CONTENT_URI,
                                                String.valueOf(id+1));
                wordIntent.setData(data);
                startActivity(wordIntent);
            }
        });
    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }
4

0 に答える 0