0

私はlistViewとonClickListenerを持っていて、onClickが何かを実行して動作します。ここで、AlertDialog onLongClickを表示したいのですが、何も起こりません。マニフェストのListViewにも追加android:longClickable="true"しましたが、それでも何も起こりません。

listView.setOnLongClickListener(new OnLongClickListener() {

    public boolean onLongClick(View v) {

        final CharSequence[] items = {"Revansch!", "Lägg till som vän","Ta bort spelet"};

        AlertDialog.Builder builder = new AlertDialog.Builder(ChallengeList.this);

        builder.setItems(items, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();
        return true;

    }

});

なぜそれが機能しないのか誰もが知っていますか?前もって感謝します!

4

2 に答える 2

4

これを試して、

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
    @Override
    public boolean onItemLongClick(AdapterView<?> av, View v, int pos, final long id) {

       final CharSequence[] items = {"Revansch!", "Lägg till som vän","Ta bort spelet"};
       AlertDialog.Builder builder = new AlertDialog.Builder(ChallengeList.this);
       builder.setItems(items, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();

        return true;
    }
});
于 2012-05-08T08:47:06.167 に答える
0

私はこれを試しました。その作業。

myList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
            return onLongListItemClick(v,pos,id);
        }
        protected boolean onLongListItemClick(View v, final int pos, long id) {

            // write code for AlertDialog
            return true;
        }

    });

onItemLongClick メソッドもオーバーライドする必要があります。

于 2012-05-08T08:46:13.547 に答える