0

リストビュー項目に長いクリックを実装しようとしていますが、機能せず、 is というエラーが表示されますundefined。コードは次のとおりです。

protected void setOnItemLongClickListener(ListView l, View v, int position, long id) {
        super.onItemLongClick(l, v, position, id);// Error

        ApplicationInfo app = applist.get(position);
        try {
            Intent intent = packageManager
                    .getLaunchIntentForPackage(app.packageName);

            if (null != intent) {
                startActivity(intent);
            }
            } catch (ActivityNotFoundException e) {
                Toast.makeText(MainActivity.this, e.getMessage(),
                        Toast.LENGTH_LONG).show();
            } catch (Exception e) {
                Toast.makeText(MainActivity.this, e.getMessage(),
                        Toast.LENGTH_LONG).show();
            }

    }

誰かが問題を解決する方法を知っていますか?ありがとう

4

5 に答える 5

1

この理由は、あなたがimplementリスナーではない可能性が最も高いです。何かのようなもの

public class ActivityName extends Activity implements OnItemLongClickListener{

変更してみる

protected void setOnItemLongClickListener

protected boolean setOnItemLongClickListener{
      // your code
      return true;

メソッドに適切な戻り値の型を使用する必要があります。これにより、リスナーはそれが成功したことを認識できますbooleanreturn true

ドキュメント

于 2013-10-23T12:43:08.977 に答える
0

Listview のこのリスナーを試してください:

istView.setOnItemLongClickListener(new OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            Toast.makeText(arg0.getContext(), ((TextView)arg1).getText(), Toast.LENGTH_SHORT).show();
            return false;
        }
    });
于 2013-10-23T12:44:19.150 に答える
0

このコードを使用してください

yourListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

            //YOUR_CODE_HERE

            return false;
        }
    });
于 2013-10-23T12:46:29.160 に答える
0

交換してください

public class MainActivity extends Activity  implements OnItemLongClickListener

未実装のメソッドを追加

@Override
    public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
            long arg3) {
        // TODO Auto-generated method stub
        return false;
    }

デフォルトでは、OnItemLongClickListener を右クリックしてこれを行うことができます。[クイック フィックス] を選択します。

于 2013-10-23T12:42:51.877 に答える