2012-02-20 21 views
0

カスタムBaseadapterでListviewを取得しました。また、私はOnItemClickListenerを呼び出すと設定しますが、ビューの位置が正しいとは思われません。Android:OnItemClickListener間違った表示位置

クリックしたアイテムの位置にQuickActionを表示したいが、正しい位置に作成されていない。 Quickaction(mBar)はビューをパラメタとして取得し、spezific位置に描画します。エラーは、私が思うview's位置/レイアウトパラメータでなければなりません。

リスナー:

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); 

     } 
    }); 

は、どのように私はビューの位置のparamsが正しく設定されていることを達成することができますか?上記getViewメソッドで

@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; 
    } 

答えて

0

()メソッドは、単に他{...}文に行の下に追加:

//This will update the position of the holder when the list updated. 
holder.position = position 

方法魔女は、拡張Baseadapterにビューを作成します

まだ誰かが答えを見つけたのかどうかわかりませんが、誰かがここに行けば、これを試してみるかもしれません。

関連する問題