2

カスタマイズされたリストビューの行のいずれかから誰かが画像をクリックするたびに、ダイアログを表示したいと考えています。これを行うにはどうすればよいですか?これまでにカスタム アダプターに実装したものを次に示します。私が困惑した場所については、コード内の「ダイアログフラグメントを表示する方法??? 」コメントを参照してください。

public class DirectoryAdapter extends BaseAdapter {

private Context mContext;
private final Session mSession;
private final ArrayList<MyObject> mMyObjects;

public DirectoryAdapter(Context context, Session session, ArrayList<MyObject> myObjects) {
    mContext = context;
    mSession = session;
    mMyObjects= myObjects;
}

    public View getView(int position, View convertView, ViewGroup parent) {

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

    View view = null;

    try {
        if (convertView == null) {

            view = new View(mContext);   
            // get row item from directory_item.xml
            view = inflater.inflate(R.layout.server_row, null);
            view.setLongClickable(true);
        } else {
            view = (View) convertView;              
        }

        //Info button
        ImageView info = (ImageView) view.findViewById(R.id.iv_directory_item_options);

        info.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                        ServerMenuDialog dialog = new ServerMenuDialog();
                dialog.setRetainInstance(true);
// How to show dialog fragment ???
                        dialog.show(view.getContext(), "Server Menu");  //EXAMPLE -- WONT COMPILE  there is no such view.getContext() method
            }

        });

    } catch (Exception ex) {
        //TODO error handling
    } finally {
        return view;
    }


}
4

1 に答える 1