Java 在TextView上设置值时出现空指针异常
我已经通过了本网站提供的所有解决方案来删除这个空指针,但没有一个有效,因此我发布了这个问题 我试图为TextView设置一个值,但返回了一个空指针 主要活动中的代码:Java 在TextView上设置值时出现空指针异常,java,android,Java,Android,我已经通过了本网站提供的所有解决方案来删除这个空指针,但没有一个有效,因此我发布了这个问题 我试图为TextView设置一个值,但返回了一个空指针 主要活动中的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_stock);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_stock);
list = new ArrayList<Inventory>();
sendRequest();
ListView listView=(ListView)findViewById(R.id.list);
ViewGroup headerView=(ViewGroup)getLayoutInflater().inflate(R.layout.header,listView,false);
listView.addHeaderView(headerView);
ListAdapter adapter = new ListAdapter(this, R.layout.rowlayout, R.id.txtNum, list);
listView.setAdapter(adapter);
以下行出现错误:
holder.txtNum.setText(行项目)
XML:
这个问题不同于已经提出的可能的解决方案,因为它涉及多个层面,并使它们膨胀,我认为这是一个问题
请帮忙 rowView=充气机。充气(vg,父项,false)
换成
rowView = inflater.inflate(R.layout.row_layout, parent, false);
其中row_layout.xml是您发布的xml文件,ID为
txtNum
的
似乎不在vg
表示的任何布局中<可能是代码>行布局?您只在if
条件内调用findViewById
,而不是在其他条件下调用。这可能是导致NullPointerException
的原因。您需要修复逻辑。发布XML布局,然后尝试打印“行”。这也可能是空的。你填好你的列表了吗?@MikeM。我想你可能发现了什么。现在检查一下,我还建议您使用带权重的水平线性布局,而不是太重的表格布局,因为您只使用一行
XML:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:stretchColumns="*">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/txtNum"
android:layout_column="2"
android:background="#c0c0c0"
android:padding="10dp"
android:layout_marginLeft="-21dp"
android:text="#"
android:textSize="10dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtProduct"
android:layout_column="3"
android:background="#c0c0c0"
android:padding="10dp"
android:text="Product"
android:textSize="10dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtUnitPrice"
android:layout_column="3"
android:background="#c0c0c0"
android:padding="10dp"
android:text="Unit Price"
android:textSize="10dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtQTY"
android:layout_column="3"
android:background="#c0c0c0"
android:padding="10dp"
android:text="Qty"
android:textSize="10dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtStatus"
android:layout_column="3"
android:background="#c0c0c0"
android:padding="10dp"
android:text="Status"
android:textSize="10dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtUser"
android:layout_column="3"
android:background="#c0c0c0"
android:padding="10dp"
android:text="User"
android:textSize="10dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtDate"
android:layout_column="1"
android:background="#c0c0c0"
android:padding="10dp"
android:text="Date"
android:textSize="10dp"
android:textStyle="bold" />
</TableRow>
</TableLayout>
rowView = inflater.inflate(R.layout.row_layout, parent, false);