デバイスがSDK <= 13をサポートしている場合、Toastを表示したいだけです
ターゲット SDK が 14 以上の場合にユーザーにイベントを追加できるようにする小さなプログラムを作成していますが、それ以外の場合はトーストを表示しますが、API レベル 8 または < をサポートするデバイスで自分のコードを使用しているときに、残念ながらアプリが停止しましたToast の代わりに 14 を使用します。以下のコードを参照してください。
final Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
if(Build.VERSION.SDK_INT > 8 && Build.VERSION.SDK_INT < 13)
{
Toast.makeText(getApplicationContext(), "Some Message", Toast.LENGTH_LONG).show();
}
else
{
Intent calIntent = new Intent(Intent.ACTION_INSERT);
calIntent.setData(Events.CONTENT_URI);
calIntent.putExtra(Events.TITLE, title.toString());
calIntent.putExtra(Events.EVENT_LOCATION, KEY_LOCATION);
calIntent.putExtra(Events.DESCRIPTION, description.toString());
startActivity(calIntent);
}
}
});
}
ログキャット:
10-30 12:24:27.142: E/AndroidRuntime(330): FATAL EXCEPTION: main
10-30 12:24:27.142: E/AndroidRuntime(330): java.lang.NoClassDefFoundError: android.provider.CalendarContract$Events
10-30 12:24:27.142: E/AndroidRuntime(330): at com.example.multileveljson.ProductDetailActivity$1.onClick(ProductDetailActivity.java:51)
10-30 12:24:27.142: E/AndroidRuntime(330): at android.view.View.performClick(View.java:2408)
10-30 12:24:27.142: E/AndroidRuntime(330): at android.view.View$PerformClick.run(View.java:8816)
10-30 12:24:27.142: E/AndroidRuntime(330): at android.os.Handler.handleCallback(Handler.java:587)
10-30 12:24:27.142: E/AndroidRuntime(330): at android.os.Handler.dispatchMessage(Handler.java:92)
10-30 12:24:27.142: E/AndroidRuntime(330): at android.os.Looper.loop(Looper.java:123)
10-30 12:24:27.142: E/AndroidRuntime(330): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-30 12:24:27.142: E/AndroidRuntime(330): at java.lang.reflect.Method.invokeNative(Native Method)
10-30 12:24:27.142: E/AndroidRuntime(330): at java.lang.reflect.Method.invoke(Method.java:521)
10-30 12:24:27.142: E/AndroidRuntime(330): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-30 12:24:27.142: E/AndroidRuntime(330): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-30 12:24:27.142: E/AndroidRuntime(330): at dalvik.system.NativeStart.main(Native Method)
ターゲット SDK >= 14 を使用しているデバイスにイベントを追加できますが、ターゲット SDK <= 13 を使用しているデバイスでトーストを表示できません....