У меня возникла странная проблема, я не могу щелкнуть свой вид списка ... Я реализовал его так же, как и раньше, но дело в том, что он не работает.
listTags.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
listTags.setSelection(position);
Toast.makeText(getParent(), "hello", Toast.LENGTH_LONG).show();
}
});
Я расширяю Класс деятельности
и слышу, как я объявляю просмотр списка
listTags = (ListView) viewToLoad.findViewById(R.id.listPack);
слышу, что я сделал в XML
<ListView
android:id="@+id/listPack"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="5dip"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_weight="1" >
</ListView>
Это так же нормально, как и везде, я не могу понять, что не так, пожалуйста, помогите мне с этим.
Спасибо
Слушайте код для адаптера
adapter = new KeywordAdapter(getApplicationContext(), id,
getLNApplication().getKeyworddetail());
listTags.setAdapter(adapter);
My KeywordAdapter class
public class KeywordAdapter extends BaseAdapter {
public KeywordAdapter(Context context, int id, ArrayList<ArrayList<Keyword>> keywordList) {
this.context = context;
if (id >= keywordList.size()) {
keyWordList = new ArrayList<Keyword>();
} else
keyWordList = keywordList.get(id);
}
// Implemented methods for BaseAdpter
public class ViewHolder {
TextView tagName;
//.... more code
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.package_tag_details, null, true);
holder = new ViewHolder();
holder.tagName = (TextView) view.findViewById(R.id.tagName);
//.... more code
holder.layout = (LinearLayout) view
.findViewById(R.id.linearLayout1);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.tagName.setText(keyWordList.get(position).getName());
ArrayList<Integer> rank = keyWordList.get(position).getRank();
@SuppressWarnings("unused")
holder.tagRank1.setText(rank.get(position));
//.... more code
return view;
}
public void forceReload() {
notifyDataSetChanged();
}
}