0

OnItemClickListenerを使用した通知のコードに3つのエラーがあります。アイテムがクリックされると、ここに通知が表示されることを適用する必要があります。コードは次のとおりです。

    list.setOnItemClickListener(new OnItemClickListener(){

        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            // TODO Auto-generated method stub


            Bundle programNum = getIntent().getExtras();
            final String progNum = programNum.getString("ProgNum");
            final String dayNum = programNum.getString("DayNum");

            final List<TouringPrograms> startTime = datasource.getTouringProgramsStartTime(progNum, dayNum);
            final List<TouringPrograms> endTime = datasource.getTouringProgramsEndTime(progNum, dayNum);

            Intent intent = new Intent(this, ProgramsList2.class);
            PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
            String body = (String) ((TextView)parent.getChildAt(position)).getText();
            String title = "Egypt On The Go";
            String time = body + "\n start at:" + startTime.get(position)+ "\n end at:" + endTime.get(position);
            Notification n = new Notification(R.drawable.egypt, time, System.currentTimeMillis());
            n.setLatestEventInfo(this, title, time, pi);
            n.defaults = Notification.DEFAULT_ALL;
            nm.notify(uniqueID, n);
            //String time1 = "" + System.currentTimeMillis();
            //Toast.makeText(this, time1, Toast.LENGTH_SHORT).show();
            //finish();

        }});

3つのエラー:

1.Intent intent = new Intent(this、ProgramsList2.class);

2.PendingIntent pi = PresidentingIntent.getActivity(this、0、intent、0);

3.n.setLatestEventInfo(this、title、time、pi);

助けてください?

4

1 に答える 1

2

エラー1

Intent intent = new Intent(this, ProgramsList2.class);

thisタイプのアイテムですOnItemClickListener。を呼び出すfinal Context intentContext = (Context) this; に、宣言して渡す必要がありますsetOnItemClickListener。次に、以下を使用します。

Intent intent = new Intent(intentContext, ProgramsList2.class);

Context常にアイテムを追跡することを忘れないでください。Intentこれらは、このようなもの( s、リソース、アセットなど)にとって重要です。

エラー2

PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);

上記とまったく同じ問題。thisタイプではありませんContext。上記と同じ修正を使用します。

エラー3

n.setLatestEventInfo(this, title, time, pi);

そしてここでは、上記の2つと同じ問題です。を使用thisする必要があるときに使用していContextます。上記の2つと同じ修正。

概要

匿名クラスthisを使用するときは、を追跡してください。そして将来的には、コンパイルエラー(コード行とエラー自体のテキスト)を投稿することは、回答を提供する人にとって非常に役立ちます。

于 2012-06-23T23:03:29.553 に答える