tabwidget活动中的Android listView给出了异常

时间:2010-12-21 18:49:55

标签: android listview tabwidget

使用Google的“Hello TabWidget”教程找到了here 我能够构建一个tabWidget布局,但是我很难在其中一个标签中粘贴listview。

我还在这里阅读了一些关于这个问题的线程,但是它们都属于将ListView分配给特定的id“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();

                }
            });
        }
    }
来自res / layout的

xml文件在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 :(得分:0)

您的TextView01需要进入单独的XML文件,例如textview01。 (名称必须是小写的,尽管您将在控制台中看到唯一的错误消息。)然后,您将以R.layout.textview01的形式访问它。