まずToast.makeTextの形式():Toast.makeText(getApplicationContext()、 "String"、Toast.LENGTH_LONG); ==> getApplicationContext()は "this"に変更できません。
public static Toast makeText (Context context, CharSequence text, int duration)
最初の引数はコンテキストで、機能getApplicationContext()も現在のコンテキストを返し、すべてが、okですが、IMO getApplicationContext()も、次のと同じように、これを置き換えることができます。
public class ContextMenuResourcesActivity extends Activity {
/** Called when the activity is first created. */
private Button b1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b1 = (Button)findViewById(R.id.button1);
final int l = Toast.LENGTH_LONG;
final String s1 = "some string";
b1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast t1 = Toast.makeText(this, s1, l);
t1.show();
}
});
}
}
それは
コンテキストの需要最初の引数を置き換えることができますが、私は誰もが理由を説明することができ、失敗したので、
Context
を拡張するクラス
ContextMenuResourcesActivity
、0
IMO this
スタンド?
ありがとう、私は前に匿名のクラスを考慮しませんでした。 – Searene