Android列表视图返回null?

Posted

技术标签:

【中文标题】Android列表视图返回null?【英文标题】:Android listview is returning null? 【发布时间】:2012-09-01 02:43:09 【问题描述】:

所以我正在尝试制作一个选项卡式应用程序...但它不断因空指针异常而崩溃。我检查了所有可能导致空指针的变量,我认为我已经缩小了范围。

ListView activeList = (ListView) findViewById(R.id.activelist);
if(activeList == null) 
  Log.e("com.name.app", "activeList null");

这将返回一个空值。应该是?我正在使用片段来尝试构建选项卡式布局。这是它引用的xml。

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

    <ListView
        android:id="@+id/activelist"
        android:layout_
        android:layout_ 
        android:persistent="true" >    
    </ListView>

</LinearLayout>

感谢您的帮助!

编辑:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.tabs_layout);

这就是我的内容视图的样子。

编辑: 这就是我的最终代码的样子!

    LayoutInflater inflater = (LayoutInflater)   getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    LinearLayout mContainer = (LinearLayout)     inflater.inflate(R.layout.tab_frag1_layout, null); 
    ListView activeList = (ListView) mContainer.findViewById(R.id.activelist);

【问题讨论】:

RU 膨胀视图或做 setContentview()??? 查看该列表视图是否在您设置为该活动内容的相同布局中声明。 它不是,但现在我想弄清楚如何膨胀它。有什么简单的方法吗? 【参考方案1】:
LinearLayout mContainer = inflater.inflate(R.layout.linear_layout, null); 
ListView activeList = (ListView) mContainer.findViewById(R.id.activelist);

其中 R.layout.linear_layout 是 LinearLayout 的 id,其中包含您的 ListView

【讨论】:

RelativeLayout 是指LinearLayout 吗?我是否必须在上面发布的 LinearLayout 中添加一个 ID?充气变量会是什么样子? 我用 linearlayour 进行了修改,但是对于这个问题,它会是一样的。我不确定您究竟想在哪里“扩充”您的列表。 R.layout.linear_layout 请发布您的 R.layout.tabs_layout 哦等等!我得到了它!我将在上面发布我的最终代码。谢谢大家的帮助!【参考方案2】:

您是否在活动中引用了您的 XML 布局?

您可以在 oncreate 方法中执行此操作:

public void onCreate(Bundle savedInstanceState) 

    super.onCreate(savedInstanceState);
    setContentView.(R.layout.your_XML_file_name);

【讨论】:

哦!不,我选择了另一个 ContentView,但这是必要的。但我相信我需要为我需要使用的 textview 充气? 这行得通吗? ListView tv = (ListView) getLayoutInflater().inflate(R.layout.yourLV, null);

以上是关于Android列表视图返回null?的主要内容,如果未能解决你的问题,请参考以下文章

在片段中使用列表视图

Android,从其他片段返回的空列表视图

Android ListView 返回 Null

Android ViewBinding 有时会在绑定对象处返回 null,因此在尝试访问视图时出现空指针异常

尝试复制没有父视图的视图 - Android

列表视图中的Android联系人图像占位符