2012-01-10 16 views
2
public void onListItemClick(ListView parent, View v, int position, long id) 
{   
    super.onListItemClick(parent, v, position, id); 



LayoutInflater inflater = (LayoutInflater) 
    this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

View popView = inflater.inflate(R.layout.offer_popup, null, false); 
final PopupWindow pw = new PopupWindow(

    inflater.inflate(R.layout.offer_popup, null, false), 
    500, 
    600, 
    true); 

pw.showAtLocation(this.findViewById(android.R.id.list), Gravity.CENTER, 0, 0);  

ImageView closeimage=(ImageView) popView.findViewById(R.id.imageView2); 
closeimage.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View v) { 
// TODO Auto-generated method stub 
pw.dismiss(); 
} 
}); 

私は上記のコードを持っていますが、closeimageは有効であり、存在しますが、OnCLick関数が終了していないクローズイメージをクリックします。OnClick機能が起動していません。

+2

onClick()が機能していませんか?たとえば、Log.d( "Log"、 "click")を追加してチェックアウトしてみてください。 –

+0

決して入力しないブレークポイントを置いています。 – lilzz

答えて

1

popViewViewオブジェクトを作成しましたが、PopupWindowにはpopViewではなく、R.layout.offer_popupレイアウトが膨らんでいました。 その後、popViewからImageオブジェクトを取得してクリックします。そのクリックは、popupWindowを閉じて、popViewオブジェクトとは関係がありません。

+0

私はそのpopViewが必要です。そうでなければ、imageView2が見つかりませんでした。 – lilzz

+0

これに代えて、レイアウトを拡張する代わりに(inflater.inflate(R.layout.offer_popup、null、false))、popViewを配置してください。ポップアップウィンドウが表示され、画像を取得でき、画像のクリックが機能します。 – Maxim

+0

これを試してください: final PopupWindow pw =新しいPopupWindow(popView、500、600、true); – Maxim

0

このコードではエラーは発生しません。たぶんあなたはどの要素がビュー内にフォーカスを持っているかをテストできますか?

また、このを見てみましょう: Android ImageView's onClickListener does not work

敬具、 ブラム

0

たぶん、あなたのonClickイベントが他のビューによって傍受されます。

関連する問題