1

グリッドビューに ItemClickListener があります。しかし、私の itemclicklistener は呼び出されていません。グリッドビューの項目クリックにアクティビティはありません

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        vi = inflater.inflate(R.layout.home, container, false);

        Button startdialog = (Button) vi.findViewById(R.id.btnCreateDialog);
        startdialog.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent startdialog = new Intent(getActivity(),
                        start_dialog.class);
                startActivity(startdialog);
            }
        });

        Button iv = (Button) vi.findViewById(R.id.btnMoreDialog);
        iv.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                PopupMenu homepopup = new PopupMenu(getActivity(), v);

                MenuInflater inflater = homepopup.getMenuInflater();

                inflater.inflate(R.menu.moredialog, homepopup.getMenu());

                homepopup.show();

            }
        });

        PremiumgridView = (StaggeredGridView) vi
                .findViewById(R.id.premiumstaggeredGridView);


        new Dialogs().execute(urls);

        return vi;
    }

    private class Dialogs extends AsyncTask<String[], Void, String[]> {
        @Override
        protected String[] doInBackground(String[]... params) {

            return params[0];
        }

        protected void onPostExecute(String[] result) {

            int premiummargin = getResources().getDimensionPixelSize(
                    R.dimen.margin);
            PremiumgridView.setItemMargin(premiummargin);
            PremiumgridView.setPadding(premiummargin, 0, premiummargin, 0);

            final StaggeredAdapter premiumadapter = new StaggeredAdapter(
                    vi.getContext(), R.id.photoimageview, result,
                    R.layout.row_staggered_demo);

            PremiumgridView.setAdapter(premiumadapter);

            premiumadapter.notifyDataSetChanged();

            premiumadapter.onClick(vi);
            PremiumgridView.setOnItemClickListener(new OnItemClickListener() {

                @Override
            public void onItemClick(StaggeredGridView parent, View view,
                    int position, long id) {
                     String item = premiumadapter.getItem(position).toString();
                      Toast.makeText(getActivity(), premiumadapter.getItem(position), Toast.LENGTH_SHORT).show();
                  // Toast.makeText(getActivity(), "You have chose: "+ item, Toast.LENGTH_LONG).show();

            }});


        }

        @Override
        protected void onPreExecute() {

        }
    }

どなたかお願いします。

ありがとう、

4

2 に答える 2

1

xml からボタンを削除して問題を解決しました。クリック可能なアイテムの中に別のクリック可能なアイテムを含めることはできません。Android GridView でトリガーされない OnItemClickListener の参照

于 2013-07-13T07:10:26.233 に答える