を繰り返します。だから、:Androidのカスタムリストビューは、私は、カスタムアダプタを持っている選択の背景
lview1 = (ListView) findViewById(R.id.listViewPhrase);
adapter = new PhraseCustomAdapter(this, original, translation, transcription);
lview1.setAdapter(adapter);
lview1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
lview1.setMultiChoiceModeListener(new MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) {
View view;
if (checked){
Log.v ("checked?", "YES");
Log.v ("Position", Integer.toString(position));
view = lview1.getChildAt(position);
view.setBackgroundColor(Color.LTGRAY);
original_list.add (adapter.getItemOriginal(position));
translation_list.add (adapter.getItemTranlation(position));
transcription_list.add (adapter.getItemTranscription(position));
countSelected += 1;
}
if (!checked){
Log.v ("checked?", "NO");
Log.v ("Position", Integer.toString(position));
for (int i = 0; i < original_list.size(); i++)
{
if (original_list.get(i) == adapter.getItemOriginal(position)){
original_list.remove (i);
translation_list.remove (i);
transcription_list.remove (i);
}
}
countSelected -= 1;
}
mode.setTitle(Integer.toString(countSelected) + " " + getString(R.string.selectItem));
}
は問題がある:私は長押しのアイテム(例えば、最初の項目)、第七項目が(背景を変更することで)あまりにも強調表示されたとき。強調表示されている7番目の項目を「強調表示しない」ようにすると、アプリがクラッシュします。最新のアイテムをクリックしようとすると、アプリがクラッシュします。 私はビューのレンダリング方法についていくつかの記事を読んで、アイテムをリサイクル、私は
UPD私の問題のためにあらゆる可能な解決策を知らないています
V/checked?(24966): YES
V/Position(24966): 7
Shutting down VM
threadid=1: thread exiting with uncaught exception (group=0x2b542210)
AndroidRuntime(24966): FATAL EXCEPTION: main
java.lang.NullPointerException
at com.alextee.phrases.PhraseActivity$1.onItemCheckedStateChanged(PhraseActivity.java:145)
at android.widget.AbsListView$MultiChoiceModeWrapper.onItemCheckedStateChanged(AbsListView.java:5688)
at android.widget.AbsListView.performItemClick(AbsListView.java:1040)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2522)
at android.widget.AbsListView$1.run(AbsListView.java:3183)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4441)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
あなたはのLogCatのスタックトレースを投稿することができます7番目のアイテムのハイライトを解除するとアプリがクラッシュする – tolgap
投稿の最後に追加されました。 –