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?的主要内容,如果未能解决你的问题,请参考以下文章