Я хочу использовать представление списка, и я создал свой собственный макет для отображения данных в представлении списка. Вот мой код:
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 connot be resolved or is not a field
Я также создал файл 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'
В чем проблема сейчас?