2012-02-29 46 views
0

我正在閱讀我正在閱讀的書,並試圖將其應用於我想要做的事情。 我有一個按鈕設置,是的它的工作原理,但是當我點擊它時,顯示一個空白屏幕。 這裏是我的代碼:當點擊一個按鈕時,一個新的contentView被製作出來

public void onCreate(Bundle savedInstanceState) { 
     View volButton = findViewById(R.id.volButton); 
     volButton.setOnClickListener(this); 
    } 

    public void onClick(View v) { 
     Intent i; 
     switch (v.getId()) { 
      case R.id.volButton: 
       i = new Intent(this, VolumeControl.class); 
       startActivity(i); 
       break; 
     } 
    }  

音量控制類

public class VolumeControl extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Toast.makeText(getBaseContext(), "This is the Toast message", Toast.LENGTH_SHORT).show(); 
    } 
} 

的吐司窗口顯示出來,但在做了一個空白屏幕。

如果我添加setContentView(R.layout.main);在super.onCreate之後,它重新繪製主屏幕。如何使用此設置而不必重繪任何內容?我不想在我的主類中的switch語句中包含所有的代碼,它看起來太過於草率。

+0

要在點擊按鈕做什麼,如果你要加載按鈕的點擊一個新的活動,則U將得到空白屏幕,因爲你沒有設置任何爲音量控制活動而設計 – Triode 2012-02-29 03:59:53

回答

0

活動類負責爲您創建一個窗口,您可以在其中使用setContentView(View)放置UI。由於您正在創建一個名爲VolumeControl的新Intent,因此您將專注於創建的VolumeControl的「窗口」。如果您希望在單擊該按鈕時顯示原始窗口,則在您的Android清單中,更改該活動的Android主題。

例如:

<activity 
     android:label="@string/app_name" 
     android:name=".VolumeControl" 
     android:theme="@android:style/Theme.Dialog"> 
     <intent-filter > 
      <action android:name="my.package.NAME" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 
+1

我不知道這是否不好做,但我將android:theme =「@ android:style/Theme.Dialog」更改爲android:theme =「@ android:style/Theme。 NoDisplay「,它以我想要的方式工作。 :) – Soulevoker 2012-02-29 04:03:35

+0

我忘了提及嘗試使用不同的主題,將實現你想要的。 :) – Marl 2012-02-29 04:07:04

+0

那麼這樣做不是一個壞習慣,或者是一種骯髒的代碼應用程序方式? (特定按鈕) – Soulevoker 2012-02-29 04:08:01

0

這是你在做什麼:

  1. 我想的setContentView從你的第一個活動缺失,所以我假設你有它存在
  2. 按下按鈕時
  3. 新意圖創建
  4. volume control還啓動與此意向
  5. volume control還顯示吐司
  6. 然後等待
  7. ,因爲你沒有設置任何佈局,一個黑色的屏幕是顯示

然後,如果你做setContentLayout(R.layout.main)相同的佈局作爲第一活動顯示,儘管它現在volume control還。 所以,如果你想顯示不同的東西使用不同的佈局。

相關問題