2012-07-24 71 views
0

我正在開發一個應用程序,在其中我需要將徽標左對齊,然後選擇右側的類別列表。因此,我所擁有的是圖像視圖中的標誌,它位於線性佈局中,然後向LinearLayout添加一個ListView,以便它們可以在同一個活動上。當我嘗試運行它時,出現意外停止的錯誤。帶Imageview和列表視圖的LinearLayout

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

    Commands.setText("Commands"); 
    LinearLayout LL = new LinearLayout(this); 

    ImageView Logo = (ImageView)findViewById(0x7f020000); 
    Logo.setImageDrawable(getResources().getDrawable(android.R.drawable.ic_menu_myplaces)); 

    ListView Cats = new ListView(this); 

    String Categories[] = new String[3]; 
    Categories[0] = "Hardware"; 
    Categories[1] = "Language"; 
    Categories[2] = "Libraries"; 
    ArrayAdapter<String> list = new ArrayAdapter<String>(this, 0, 2, Categories); 

    Cats.setAdapter(list); 
    LL.addView(Logo); 
    LL.addView(Cats); 
    setContentView(LL); 

} 

任何幫助,我真的很困惑

回答

0

確定。我認爲問題在於,您沒有在onCreate()中調用setContentView()。

很明顯,Android不知道在哪裏尋找ImageView與該ID,你會最有可能運行到空指針。

添加setContentView()onCreate() thsi前行,

ImageView Logo = (ImageView)findViewById(0x7f020000); 
0

創建佈局最簡單的方法在Android是在RES /佈局文件夾中的XML創建佈局和它充氣,當你加載你的onCreate方法。例如這個XML可能完成你在找什麼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" > 
    <ImageView 
     android:id="@+id/(name for image view)" 
     android:layout_width="(some size)" 
     android:layout_height="(some size)" 
    > 
    </ImageView> 

    <ListView 
     android:id="@+id/(name for list view)" 
     android:layout_width="(some size)" 
     android:layout_height="fill_parent"> 
    </ListView> 
<LinearLayout> 

你應該能夠找到與XML創建佈局大量的教程。

相關問題