이 사이트에서 제공되는 모든 솔루션을 통해이 null 포인터를 제거했지만 아무 것도 작동하지 않으므로이 질문을 게시하고 있습니다.TextView에서 값을 설정할 때 널 포인터 예외가 발생했습니다.
TextView에 값을 설정하려고하지만 null 포인터가 반환됩니다. 주요 활동에
코드 : 텍스트가 설정되는
@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);
등급 :
static class ViewHolder{
public TextView txtNum;
public TextView txtProduct;
public TextView txtUnitPrice;
public TextView txtQTY;
public TextView txtStatus;
public TextView txtUser;
public TextView txtDate;
}
public View getView(int position, View convertView, ViewGroup parent){
View rowView=convertView;
if(rowView==null) {
System.out.println("ZZZZZZ IF CONDITION IS TRUE ZZZZZZZZZZZZ");
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(vg, parent, false);
ViewHolder holder = new ViewHolder();
holder.txtNum = (TextView) rowView.findViewById(R.id.txtNum);
holder.txtProduct = (TextView) rowView.findViewById(R.id.txtProduct);
holder.txtUnitPrice = (TextView) rowView.findViewById(R.id.txtUnitPrice);
holder.txtQTY = (TextView) rowView.findViewById(R.id.txtQty);
holder.txtStatus = (TextView) rowView.findViewById(R.id.txtStatus);
holder.txtUser = (TextView) rowView.findViewById(R.id.txtUser);
holder.txtDate = (TextView) rowView.findViewById(R.id.txtDate);
rowView.setTag(holder);
System.out.println("EVERYTHING HAS BEEN INITIALIZED");
}
//String[] item = item_list[position].split("__");
Inventory row = list.get(position);
ViewHolder holder =(ViewHolder)rowView.getTag();
System.out.println("THIS IS WHAT ITEM = " + row.Item);
System.out.println("THIS IS WHAT PRODUCT = " + row.Product);
System.out.println("THIS IS WHAT UNIT_PRICE = " + row.Unit_Price);
System.out.println("THIS IS WHAT QTY = " + row.Qty);
System.out.println("THIS IS WHAT STATUS = " + row.Status);
System.out.println("THIS IS WHAT USER = " + row.UserUpdate);
System.out.println("THIS IS WHAT DATE = " + row.Last_Updated);
holder.txtNum.setText(row.Item);
holder.txtProduct.setText(row.Product);
holder.txtUnitPrice.setText(row.Unit_Price);
holder.txtQTY.setText(row.Qty);
holder.txtStatus.setText(row.Status);
holder.txtUser.setText(row.UserUpdate);
holder.txtDate.setText(row.Last_Updated);
return rowView;
}
오류가 다음 줄에 발생합니다 holder.txtNum.setText (row.Item);
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>
이 질문은 이미 가능한 솔루션으로 제안 된 내용과 다른, 즉, 그것은 내가 제발 도와주세요
문제를 cuasing 생각 다중 레이어와 그 팽창을 포함!
ID와'가''txtNum'가 나타내는 vg' 어떤 레이아웃'에없는 것으로 보인다 게시 된 XML 파일입니다
합니다. 'rowlayout' 아마도? –
'if '조건 내에서만'findViewById'를 호출하지만, 그렇지 않은 경우는 호출하지 않습니다. 이것이 아마도 NullPointerException의 원인 일 것입니다. 논리를 수정해야합니다. –
XML 레이아웃 게시 – Hai