我在LinearLayout中使用ListView并使用自定义行布局(2个TextViews)。 ListView使用原始文件中的字符串填充。我也在ListView上使用android:fastScrollEnabled="true"
。我还实现了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();
}