Android listView в активности с вкладками дает исключение - PullRequest
0 голосов
/ 21 декабря 2010

С помощью учебника Google "Hello TabWidget" найдено здесь Мне удалось создать макет tabWidget, но у меня возникли серьезные трудности с попыткой вставить вид списка в одну из вкладок.

Я также прочитал здесь несколько потоков об этой проблеме, но все они относятся к назначению ListView для определенного идентификатора «list», что я и сделал, но я все еще получаю исключение нулевого указателя.

Я потратил много времени на эту элементарную задачу, поэтому я попросил Бога о помощи, но я думаю, что он сейчас занят. Кто-нибудь на перерыв на обед?

действие, в котором ListView называется

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;


public class SettingsActivity extends Activity  {
private ListView lv;

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.settings);

    String[] settingsList = getResources().getStringArray(R.array.settingsStringArray);

    lv = (ListView) findViewById(R.id.list);
    lv.setAdapter(new ArrayAdapter<String>(this, R.id.TextView01, settingsList));

    lv.setOnItemClickListener
        (new OnItemClickListener() 
            {

                public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
                {

                    Toast.makeText(getApplicationContext(), ((TextView) view).getText(),Toast.LENGTH_SHORT).show();

                }
            });
        }
    }

XML-файл из res / layout вызывается в setContentView (R.layout.settings)

    <?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">
<ListView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/list">
</ListView>
<TextView  
    android:id="@+id/TextView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
</TextView>
</LinearLayout>

Спасибо всем.

1 Ответ

0 голосов
/ 21 декабря 2010

Ваш TextView01 должен находиться в отдельном XML-файле, скажем, textview01. (Имя должно быть в нижнем регистре, хотя единственное сообщение об ошибке, которое вы увидите об этом, будет в консоли.) Затем вы получите доступ к нему как R.layout.textview01.

...