2011-12-07 28 views
0

リストビューにテキストを表示しようとするといくつか問題が発生します。リストビュー項目がアンドロイドエミュレータの実行時に表示されない

リストビュークラスのコードは次のとおり

package org.practical.newsupdate; 

    import android.os.Bundle; 
    import android.widget.ArrayAdapter; 
    import android.widget.ListView; 

    public class MenuView extends NewsfeedApp2Activity { 

     public void onCreate(Bundle savedInstanceState){ 

      super.onCreate(savedInstanceState); 

    ListView menuList = (ListView) findViewById(R.id.menuview); 
    String[] items = getResources().getStringArray(R.array.menu_array); 

    ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, 
      R.layout.menuview, items); 
    menuList.setAdapter(adapt); 

    } 
    } 

main.xmlのコードされた:string.xmlをファイルのコードが

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:id="@+id/relativeLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/ScreenTitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:text="ScreenTitle" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:src="@drawable/ic_launcher" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:src="@drawable/ic_launcher" /> 

</RelativeLayout> 

<ListView 
    android:id="@+id/MenuView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="0.88" android:visibility="visible"> 
</ListView> 

<ImageView 
    android:id="@+id/Picture" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_launcher" /> 

</LinearLayout> 

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

<string name="hello">Hello World, NewsfeedApp2Activity!</string> 
<string name="app_name">NewsfeedApp2</string> 
<string name="ScreenTitle">ScreenTitle</string> 
<string-array name="menu_array"> 
    <item>NewsPage</item> 
    <item>Settings</item> 
    <item>Help</item> 
    <item>About</item> 
</string-array> 

</resources> 

メインJavaファイルのコードは次のとおりです。

package org.practical.newsupdate; 

import android.app.Activity; 
import android.os.Bundle; 

    public class NewsfeedApp2Activity extends Activity { 
@Override 
    public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
}  
} 

とmenuview.xmlファイルのコードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/menuview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView"/> 

のAndroidManifest.xmlファイルには、次のコードを持っています

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="org.practical.newsupdate" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="14" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:label="@string/app_name" 
     android:name=".NewsfeedApp2Activity" > 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="MenuView"></activity> 
    <activity android:name="About"></activity> 
    <activity android:name="Help"></activity> 
    <activity android:name="NewsPage"></activity> 
    <activity android:name="Settings"></activity> 



</application> 

</manifest> 

誰かが私を助けてくださいことはできますか?

どうもありがとう

答えて

0

あなたの2番目のパラメータのデータを表示するテキストビューのIDとして期待ArrayAdapter(コンテキストコンテキスト、int型のtextViewResourceId、T []オブジェクト)コンストラクタを使用しているが、あなたはそれを与えますmenuview.xmlレイアウトのID。あなたのmenuviewを使用し

  1. :あなたがあなたのアダプターを伝えるこれにより

    ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, 
        R.layout.menuview, 
        R.id.menuview, 
        items); 
    

    :あなたはおそらくArrayAdapter(コンテキストコンテキスト、int型のリソース、int型のtextViewResourceId、T []オブジェクト)コンストラクタ、例えばを使用する必要があります。 XMLリストの各項目のレイアウト、およびmenuview.xmlレイアウトで

  2. 、データを表示するには、IDのmenuviewでビューを使用

使用するので、これは「非常に明確ではないかもしれませんレイアウトの名前として、そしてその中のビューのIDとして "menuview"を指定します。

編集:また、あなたのListViewのIDとして。これはAndroidを邪魔しないかもしれませんが、これはあなたのコードの明確さのためには良くありません:)

関連する問題