0

この関数が重複した文字列をリストから削除しない理由がわかりません。

private void detectApps() {
    //TODO: here set the running apps list to the Adapter
    m_processesList =AndroidProcesses.getRunningAppProcesses();
    Set<AndroidAppProcess> set= new HashSet<>();
    set.addAll(m_processesList);
    m_processesList.clear();
    m_processesList.addAll(set);
    runningAppsAdapter=new AppsAdapter(RunningAppsActivity.this,R.layout.list_item,m_processesList);
    m_listView.setAdapter(runningAppsAdapter);
    runningAppsAdapter.notifyDataSetChanged();
}
4

2 に答える 2

0

ここで、ハッシュセットは AndroidAppProcess のリストであり、そのオブジェクトの多くのインスタンス変数の値は同じですが、オブジェクトは異なります。したがって、重複は削除されません。代わりに、一連の文字列を使用してみてください。そうすれば、重複が削除されます

于 2016-08-10T04:36:57.137 に答える