2012-03-03 13 views
2

リストビューを使用したいのですが、リストビューでデータを表示するためのレイアウトを作成しました。ここに私のコードは次のとおりです。リストビューを表示するレイアウトでエラーが発生しました

public class ListActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     ListView listView = (ListView) findViewById(R.id.mylist); 
     String[] values = new String[] { "Android", "iPhone", "WindowsMobile", 
      "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
      "Linux", "OS/2" }; 

     // First paramenter - Context 
     // Second parameter - Layout for the row 
     // Third parameter - ID of the View to which the data is written 
     // Forth - the Array of data 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
//#1   android.R.layout.list_item, android.R.id.text1, values); 

// list_itemは、テキストビューとサイズが含まれて私が作成したレイアウト

 // Assign adapter to ListView 
     listView.setAdapter(adapter); 
    } 
} 

である。しかしライン#1に私はエラーに

​​ を取得しています

以下のようにlist_item.xmlファイルも作成しました。

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="16sp"> 


</TextView> 

どこが間違っていますか?
@ByteMeから回答がありました。今はエラーはありません。実行時に次のエラーが表示されます。私はlogcatの内容をコピーしました。これは私が取得したものです:

E/AndroidRuntime( 384): Uncaught handler: thread main exiting due to uncaught e 
xception 
E/AndroidRuntime( 384): java.lang.NullPointerException 
E/AndroidRuntime( 384):  at android.widget.ArrayAdapter.createViewFromRes 
ource(ArrayAdapter.java:353) 
E/AndroidRuntime( 384):  at android.widget.ArrayAdapter.getView(ArrayAdap 
ter.java:323) 
E/AndroidRuntime( 384):  at android.widget.AbsListView.obtainView(AbsList 
View.java:1274) 
E/AndroidRuntime( 384):  at android.widget.ListView.measureHeightOfChildr 
en(ListView.java:1147) 
E/AndroidRuntime( 384):  at android.widget.ListView.onMeasure(ListView.ja 
va:1060) 
E/AndroidRuntime( 384):  at android.view.View.measure(View.java:7964) 
E/AndroidRuntime( 384):  at android.view.ViewGroup.measureChildWithMargin 
s(ViewGroup.java:3023) 
E/AndroidRuntime( 384):  at android.widget.LinearLayout.measureChildBefor 
eLayout(LinearLayout.java:888) 
E/AndroidRuntime( 384):  at android.widget.LinearLayout.measureVertical(L 
inearLayout.java:350) 
E/AndroidRuntime( 384):  at android.widget.LinearLayout.onMeasure(LinearL 
ayout.java:278) 
E/AndroidRuntime( 384):  at android.view.View.measure(View.java:7964) 
E/AndroidRuntime( 384):  at android.view.ViewGroup.measureChildWithMargin 
s(ViewGroup.java:3023) 
E/AndroidRuntime( 384):  at android.widget.FrameLayout.onMeasure(FrameLay 
out.java:245) 
E/AndroidRuntime( 384):  at android.view.View.measure(View.java:7964) 
E/AndroidRuntime( 384):  at android.widget.LinearLayout.measureVertical(L 
inearLayout.java:464) 
E/AndroidRuntime( 384):  at android.widget.LinearLayout.onMeasure(LinearL 
ayout.java:278) 
E/AndroidRuntime( 384):  at android.view.View.measure(View.java:7964) 
E/AndroidRuntime( 384):  at android.view.ViewGroup.measureChildWithMargin 
s(ViewGroup.java:3023) 
E/AndroidRuntime( 384):  at android.widget.FrameLayout.onMeasure(FrameLay 
out.java:245) 
E/AndroidRuntime( 384):  at android.view.View.measure(View.java:7964) 
E/AndroidRuntime( 384):  at android.view.ViewRoot.performTraversals(ViewR 
oot.java:763) 
E/AndroidRuntime( 384):  at android.view.ViewRoot.handleMessage(ViewRoot. 
java:1633) 
E/AndroidRuntime( 384):  at android.os.Handler.dispatchMessage(Handler.ja 
va:99) 
E/AndroidRuntime( 384):  at android.os.Looper.loop(Looper.java:123) 
E/AndroidRuntime( 384):  at android.app.ActivityThread.main(ActivityThrea 
d.java:4363) 
E/AndroidRuntime( 384):  at java.lang.reflect.Method.invokeNative(Native 
Method) 
E/AndroidRuntime( 384):  at java.lang.reflect.Method.invoke(Method.java:5 
21) 
E/AndroidRuntime( 384):  at com.android.internal.os.ZygoteInit$MethodAndA 
rgsCaller.run(ZygoteInit.java:860) 
E/AndroidRuntime( 384):  at com.android.internal.os.ZygoteInit.main(Zygot 
eInit.java:618) 
E/AndroidRuntime( 384):  at dalvik.system.NativeStart.main(Native Method) 

I/Process ( 59): Sending signal. PID: 384 SIG: 3 
I/dalvikvm( 384): threadid=7: reacting to signal 3 
I/dalvikvm( 384): Wrote stack trace to '/data/anr/traces.txt' 

今何が問題ですか?

答えて

3

使用してみてください

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
    R.layout.list_item, R.id.text1, values); 

の代わりに、誰もが(の最初の部分を質問の後半部分に答えるされていないので、私

+0

あなたの提案によりエラーが削除されました。しかし、今はlog catでランタイムエラーが発生しています。 logcatの最初の行には、「threadid = 3スレッドはキャッチされない例外で終了しています。 – Ashwin

0

のためにそれを修正するように見えた

android.R.layout.list_item 

質問は@ByteMeによって答えられました)、私は自分自身で質問に答えます(リストビューの基本を経て答えを得ました)。 anserは非常に簡単です。
アダプタコンストラクタからオプションのパラメータ(3番目のパラメータ)を削除するだけです。

関連する問題