Когда я нажимаю элемент, он не запускает мой код onListItemClick, и я понятия не имею, почему!onListClickItem не отвечает ни на что
У меня есть фрагмент, расширяющий listFragment с помощью этого кода. Это в onCreateView()
{
adapter = new CustomArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_multiple_choice, names);
setListAdapter(adapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id){
CheckedTextView check = (CheckedTextView) v;
if (check.isChecked()){
selections.remove((Integer) position);
}
else{
selections.add((Integer) position);
}
//DOESNT RUN THIS
}
Это мой пользовательский адаптер
package project.android.bellringing;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
public class CustomArrayAdapter<T> extends ArrayAdapter<String> {
private ArrayList<Boolean> bitset = new ArrayList<Boolean>();
private ArrayList<String> names;
public CustomArrayAdapter(Context context, int textViewResourceId){
super(context, textViewResourceId);
}
public CustomArrayAdapter(Activity a, int textViewResourceId, ArrayList<String> entries) {
super(a, textViewResourceId, entries);
for (int i = 0; i < entries.size(); i++){
bitset.add(i, false);
}
names = new ArrayList<String>(entries);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
CheckedTextView c;
if (convertView == null) {
LayoutInflater vi = LayoutInflater.from(getContext());
c = (CheckedTextView) vi.inflate(android.R.layout.simple_list_item_multiple_choice, null);
}
else{
c = (CheckedTextView) convertView;
}
final CheckedTextView ctv = c;
ctv.setText(names.get(position));
if (bitset.get(position) == false)
ctv.setChecked(false);
else
ctv.setChecked(true);
ctv.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
ctv.setChecked(!ctv.isChecked());
if (bitset.get(position) == false)
bitset.set(position, true);
else
bitset.set(position, false);
}
});
return ctv;
}
}
Был ли мой образец полезен или вам нужна другая информация? –