我搜索了很多网站来创建弹出窗口,但我没有找到在自定义适配器类中创建弹出窗口的正确解决方案,我发现仅用于在 Activity 类中创建弹出窗口。
我的问题是我正在使用自定义适配器类扩展 ArrayAdapter,因为我在 row.xml 文件中有一个适用于 ArrayList 的 TextView。当我单击该文本视图时,我想在光标点位置显示弹出窗口。
这是我的代码:
Clockin_Adapter adap = new Clockin_Adapter(getApplicationContext(), R.layout.group_clkin_row, result);
clockin.setAdapter(adap);
public static class Clockin_Adapter extends ArrayAdapter<DataItem> {
ArrayList<DataItem> items;
Context con;
int[] buttonStates;
Time t ;
public Clockin_Adapter(Context context, int textViewResourceId, ArrayList<DataItem> objects) {
super(context, textViewResourceId, objects);
this.con = context;
this.items = objects;
buttonStates=new int[objects.size()];
for(int i=0;i<objects.size();i++)
{
buttonStates[i]=0;
}
}
@Override
public int getCount() {
if(employeeList==null){
return 0;
}
else{
return employeeList.length;
}
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View row = convertView;
final ViewHolder holder;
if (convertView == null) {
row = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_clkin_row, null);
holder=new ViewHolder();
} else {
//code
}
}
holder.name = (TextView)row.findViewById(R.id.group_name);
holder.name.setText(item.getName());
holder.name.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Need PopUp window Here
}
});
static class ViewHolder {
TextView name;
TextView time;
}
please give me solution.
Thanks in advanced.