gpt4 book ai didi

java - NullPointerException 在 textview 中使用 fragment

转载 作者:数据小太阳 更新时间:2023-10-29 02:50:06 26 4
gpt4 key购买 nike

我在 tv.setMovementMethod(new ScrollingMovementMethod()); 上遇到了 NullPointerException 但我完全不知道为什么!我已经在 XML 文件中声明了 textView 并在 onCreateView 中对其进行了初始化。任何帮助,将不胜感激。

这里是java代码的相关部分:

public class TestConnection extends Fragment {
public TestConnection() {

}


JSONParser jParser = new JSONParser();

//button pressed to get the items
Button getAllItems;

//declare list view
TextView tv;

//Progress dialog
private ProgressDialog pDialog;

//Make an arrayList containing all items
ArrayList<HashMap<String, String>> itemsList;

//url to get items
private static String urlAllItems = "http://jamesalfei.netne.net/php/get_all_items.php";

//JSON node/tag names
private static final String TAG_SUCCESS = "success";
private static final String TAG_ITEMS = "items";
private static final String TAG_PID = "pid";
private static final String TAG_NAME = "name";

//items array
JSONArray items = null;

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.sql_layout,
container, false);
getAllItems = (Button) getActivity().findViewById(R.id.SQLGetItems);

//listview
tv = (TextView) getActivity().findViewById(R.id.sqltv);

tv.setMovementMethod(new ScrollingMovementMethod());

getAllItems.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// Launching All products Activity
retreiveProducts();
}
});
return view;
}

这是xml

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<Button
android:id="@+id/SQLGetItems"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="@string/getSQL" />

<TextView
android:id="@+id/sqltv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/SQLGetItems"
android:text="@string/sqlLabel" />

</RelativeLayout>

如果我使用了任何错误的编码习惯,我深表歉意,但我对 Android 编程还很陌生!

最佳答案

您正在错误的 View 中查找 TextView。您应该搜索膨胀 View ,而不是父级 View ,主要是因为您没有添加到 onCreateView() 中。所以替换:

tv = (TextView) getActivity().findViewById(R.id.sqltv); 

有了这个

tv = (TextView) view.findViewById(R.id.sqltv); 

关于java - NullPointerException 在 textview 中使用 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com