У меня есть ListView с пользовательским Baseadapter. Также я установил OnItemClickListener, который хотя и вызывается, но кажется, что позиция представления не правильная.
Я хочу показать QuickAction в позиции выбранного элемента, и он не создан в правильном положении. Quickaction (mBar) получает вид в качестве параметра и рисует себя в определенной позиции. Я считаю, что ошибка ДОЛЖНА быть параметрами позиции / макета представления.
Слушатель:
list.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, final long selectedCourseid)
{
QuickActionBar mBar = new QuickActionBar(context);
mBar.addQuickAction(new QuickAction(context, R.drawable.ic_menu_mark, "choose"));
mBar.addQuickAction(new QuickAction(context, R.drawable.ic_menu_save, "details"));
mBar.setOnQuickActionClickListener(new OnQuickActionClickListener()
{
@Override
public void onQuickActionClicked(QuickActionWidget widget, int position)
{
....
}
});
mBar.show(view);
}
});
Как мне добиться, чтобы параметры положения вида были правильно установлены?
Метод, который создает представление в расширенном Baseadapter:
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
cursor.moveToPosition(position);
if(convertView == null){
convertView = mLayoutInflater.inflate(R.layout.test, null);
holder = new ViewHolder();
holder.test = (TextView) convertView.findViewById(R.id.test);
...
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.test.setText("test");
...
return convertView;
}