2013-07-15 73 views
0

我剛開始在android開發中,我從一本書的一個示例代碼片斷中獲取了界面上的幾個文本字段。我一遍又一遍地檢查了我的代碼和本書中的代碼是一樣的,但是每次編譯和運行時,我都會在模擬器中看到黑屏。我的UI代碼沒有在模擬器中顯示任何東西

這裏是我的代碼:

package me.kevinossia.mystuff; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.ViewGroup.LayoutParams; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

public class MainActivity extends Activity 
{ 
    private LinearLayout nameContainer; 
    private LinearLayout addressContainer; 
    private LinearLayout parentContainer; 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     createNameContainer(); 
     createAddressContainer(); 
     createParentContainer(); 
     setContentView(parentContainer); 
    } 

    private void createNameContainer() 
    { 
     nameContainer = new LinearLayout(this); 

     nameContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); 

     nameContainer.setOrientation(LinearLayout.HORIZONTAL); 

     TextView nameLbl = new TextView(this); 

     nameLbl.setText("Name: "); 
     nameContainer.addView(nameLbl); 

     TextView nameValueLbl = new TextView(this); 
     nameValueLbl.setText("Kevin"); 

     nameContainer.addView(nameValueLbl); 
    } 

    private void createAddressContainer() 
    { 
     addressContainer = new LinearLayout(this); 

     addressContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); 

     addressContainer.setOrientation(LinearLayout.VERTICAL); 

     TextView nameLbl = new TextView(this); 

     nameLbl.setText("Address: "); 
     addressContainer.addView(nameLbl); 

     TextView nameValueLbl = new TextView(this); 

     nameValueLbl.setText("26662"); 
     addressContainer.addView(nameValueLbl); 
    } 

    private void createParentContainer() 
    { 
     parentContainer = new LinearLayout(this); 

     parentContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
     parentContainer.setOrientation(LinearLayout.VERTICAL); 

     parentContainer.addView(nameContainer); 
     parentContainer.addView(addressContainer); 
    } 
} 

缺少什麼我在這裏?

這裏是我的清單:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="me.kevinossia.mystuff.tutorial" 
    android:versionCode="1" 
    android:versionName="1.0"> 

    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> 

    <application android:label="@string/app_name" 
     android:icon="@drawable/ic_launcher" 
     android:theme="@style/AppTheme"> 

    </application> 

</manifest> 

這裏是新的清單:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="me.kevinossia.mystuff.tutorial" 
android:versionCode="1" 
android:versionName="1.0"> 

<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> 

<application android:label="@string/app_name" 
    android:icon="@drawable/ic_launcher" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name="me.kevinossia.mystuff.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" android:theme="@android:style/Theme.Holo" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

+0

因爲更有可能的是你如何會我會通過購買一本書,教你在XML代碼'layout'啓動做你的'佈局'的98%。除此之外,嘗試張貼您的'清單'也許 – codeMagic

+0

我實際上應該說過這一點:我也在xml文件中做了相同的佈局,但我不知道該從那裏做什麼。我只需點擊「運行」? –

+0

是,點擊運行。如果你不點擊運行或調試,你在做什麼?另外,我會建議讓一個真正的設備儘快測試。 – codeMagic

回答

0

你不必在你的manifest什麼作爲你的啓動程序。你應該有類似

<application android:label="@string/app_name" 
    android:icon="@drawable/ic_launcher" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name="me.kevinossia.mystuff.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" android:theme="@android:style/Theme.Holo" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     </activity> 

裏面的<application>標記。這些是重要的線路。

 <intent-filter> 
      <action android:name="android.intent.action.MAIN" > 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

根據您的應用程序

manifest.xml

intent-filters

+0

我加了這兩個,它仍然只是顯示黑屏。 –

+0

你在裏面加了整個'標籤和'? – codeMagic

+0

是的。我試着運行xml本身和.java源文件。兩人都只是顯示了一個黑屏。 –