[英]android - Update ListView from AsyncTask doInBackground() thread
[英]thread asynctask and listview
嗨,大家好,我的代碼有問題...我已將myTask移至Splashscreen.java ..這是arrivi.java
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View arrivi = inflater.inflate(R.layout.arrivi, container, false);
return arrivi;
}
public void CheckRow(){
ListView list;
rowItems = new ArrayList<RowItem>();
for (int i = 1; i <= thread; i++) {
RowItem item = new RowItem(Compagnia[i], CodiceVolo[i], Citta[i],OraPrevista[i], OraStimata[i], StatoVolo[i]);
rowItems.add(item);
System.out.println(CodiceVolo[i]);
}
list=(ListView)arrivi.findViewById(R.id.listView1);
CustomBaseAdapter adapter = new CustomBaseAdapter(getActivity(), rowItems);
list.setAdapter(adapter);
103行是
list=(ListView)getActivity().findViewById(R.id.listView1);
SplashScreen.java
public class SplashScreen extends Activity {
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.splashscreen);
而不是使用getActivity(),應該從Fragment.getView()獲取布局。
更新
因此,您將在Activity的onCreate中啟動AsyncTask。 可以在調用您的Fragment的onCreateView之前調用AsyncTask的onPostExecute,這是我懷疑在這里發生的情況; 因此為空指針。 通常,這些是使用AsyncTasks的一些細微差別。
您有幾種選擇:
查看此鏈接以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.