当我点击一个项目它不运行我的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;
}
}
我的样本是否有用?还是您需要其他信息? –