2011-12-05 151 views
1

我有一個字符串數組,我需要在佈局中顯示。 該代碼當前顯示列表,但該列表不在佈局中,它創建一個新的「屏幕」,其中唯一可以看到的是列表。佈局中的列表視圖Android

下面是我無法在佈局列表視圖中顯示列表的代碼。

import android.app.ListActivity; 
import android.content.res.Resources; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 

public class idchart extends ListActivity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.idchart); 

    Resources res = getResources(); 

// To get the string array associated with particular resource ID. 
String[] ids = res.getStringArray(R.array.idchart_array); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.test_list_item,ids); 
setListAdapter(adapter); 
} 

} 

佈局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/bg_main" 
android:orientation="vertical" > 


<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:src="@drawable/logo" /> 


<Button 
    android:id="@+id/btn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

<RelativeLayout 
    android:id="@+id/relative" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <ListView 
     android:id="@+id/lv" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 
    </ListView> 
</RelativeLayout> 

</LinearLayout> 

我一直沒能找到任何幫助:(所以我希望你將能夠

回答

1
ListView listView=(ListView)findViewById(R.id.lv); 
//rest of code 
listView.setAdapter(adapter); 

而且可以避開擴展ListActivity。

如果您正在使用ListActivity然後

ListView listView=getListView(); 
0

idchart類應該是的子類。一個常規的Activity而不是一個ListActivity這是隻用於顯示列表。

更新

更換

public class idchart extends ListActivity 

public class idchart extends Activity 
+0

如何將這項看? – BoinQ

+0

@BoinQ查看我的更新 – slayton

+0

非常感謝:D我的代碼有效! – BoinQ

0

如果擴展ListActivity,你的ListView必須有一個特定ID:

android:id="@id/android:list" 

從DOC:

ListActivity has a default layout that consists of a single, full-screen list in the 
center of the screen. However, if you desire, you can customize the screen layout by 
setting your own view layout with setContentView() in onCreate(). To do this, your own 
view MUST contain a ListView object with the id "@android:id/list"