【发布时间】:2012-03-11 03:05:49
【问题描述】:
我有一个带有自定义 Baseadapter 的 Listview。我还设置了一个 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 中创建 View 的方法:
@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;
}
【问题讨论】:
标签: android listview view position onitemclicklistener