Activity 中的 Compat 與 This

繼承AppCompatActivity的變成對話框android

在測試Activity的生存週期的時候,須要點擊屏幕上的一個按鈕,將其中一個Activity(繼承AppCompatActivity),顯示成對話框形式。
在Androidmanifest.xml:ide

<activity
android:name=".DialogActivity"
android:theme="@android:style/Theme.Dialog" >
</activity>測試

點擊按鈕以後,直接閃屏退出程序。
------------------修改後--------------------------ui

<activity
    android:name=".DialogActivity"
    android:theme="@style/Theme.AppCompat.Dialog" >
    </activity>

這樣就能夠將Acivity變成對話框。this

繼承AppCompatActivity後,requestWindowFeature(Window.FEATURE_NO_TITLE);失效了。code

要使用 getSupportActionBar().hide();xml

toast

該方法的 Context 參數一般是 Activity 的一個實例( Activity 自己就是 Context 的子類)。 第二個參數是toast要顯示字符串消息的資源ID。 Toast 類必須藉助 Context 才能找到並使用字符 串的資源ID。第三個參數一般是兩個 Toast 常量中的一個,用來指定toast消息顯示的持續時間。 建立toast後,可調用 Toast.show() 方法在屏幕上顯示toast消息。繼承

Toast.makeText(QuizActivity.this, R.string.incorrent_toast, Toast.LENGTH_SHORT).show();

在 makeText(...) 裏,傳入 QuizActivity 實例做爲 Context 的參數值。注意此處應輸入的

參數是 QuizActivity.this ,不要想固然地直接輸入 this 。由於匿名類的使用,這裏的 this 指
的是監聽器 View.OnClickListener 。ci

相關文章
相關標籤/搜索