2012-09-06 27 views
0

我搜索了很多网站来创建弹出窗口,但我没有得到适当的解决方案来创建自定义适配器类中的弹出窗口,我发现只用于在Activity类中创建弹出窗口。如何在自定义适配器类中创建弹出窗口?

我的问题是我使用自定义适配器类扩展ArrayAdapter,因为我有一个TextView适用于ArrayList的row.xml文件。当我点击那个文本视图时,我想在光标点位置显示弹出窗口。

这里是我的代码:

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. 

回答

0

自定义浮动窗口:

U可以改变dialog.setContentView(R.layout.custom);dialog.setView(//your view);

final Dialog dialog = new Dialog(con); 
      dialog.setContentView(R.layout.custom); 
      dialog.setTitle("Title..."); 
+0

我用它,但itdoes在CustomAdapter类没有奏效。 – suresh

+0

是否在列表视图的setonitemclicklistener中写入了此代码? –

+0

我没有使用listView.setOnItemClickListener,我使用适合我的listview的row.xml文件。即:Clockin_Adapter adap = new Clockin_Adapter(getApplicationContext(),R.layout.group_clkin_row,result); clockin.setAdapter(adap);这里的结果是ArrayList对象。 – suresh