18

ロケーション リスナー アクティビティがあり、トースト通知を作成したいと考えています。thisしかし、それは私を文脈として通過させません。トーストを機能させるにはどうすればよいですか?

4

7 に答える 7

23

YourActiviy.thisトーストがアクティビティ クラス内にある場合は、 where YourActivityis をクラス名として使用できます。クラスの外にある場合は、アクティビティ コンテキストを取得する必要があります (コンストラクターなどに渡します)。

于 2011-04-12T20:25:13.700 に答える
7

内部クラスにいる場合は、これも試してください

getApplicationContext()

于 2011-04-13T01:58:27.943 に答える
5

使用できますNameOfYourActivity.this

例えば:

public class MyActivity extends Activity {

 ...
     Toast.makeText(MyActivity.this, text, duration).show();
于 2011-04-12T20:19:28.837 に答える
2

たとえば、「onComplete」というメソッドを内部に持つリスナーがある場合、このコードは機能するはずです。

public void onComplete(String response, Object state) {
        final String response_complete = response;
        MyActivity.this.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MyActivity.this, text, duration).show();
            }
        });
    }

それはそれを行う必要があります。

于 2011-04-13T03:10:26.223 に答える
0

アクティビティの内部クラスにいるようです。その場合は、ActivityName.this を試してください。

于 2011-04-12T20:25:55.387 に答える