2014-11-22 92 views
0

u能解釋在哪裏我做了錯誤的空指針異常..獲得當移動交換從縱向到橫向和反轉

我的片段類包含的異步任務

class FormDetails extends AsyncTask<String, String, FormFull> { 

NetworkConnection nc; 
NetworkConnectivity ncty; 
FormFull fList=null; 
ProgressDialog pd; 

@Override 
protected void onPreExecute() { 
// TODO Auto-generated method stub 
pd=new ProgressDialog(getActivity()); 
pd.show(); 
super.onPreExecute(); 
} 

@Override 
protected void onProgressUpdate(String... values) { 
// TODO Auto-generated method stub 
pd.setMessage(values[0]); 
super.onProgressUpdate(values); 
} 

@Override 
protected FormFull doInBackground(String... params) { 
nc=new NetworkConnection(); 
ncty=new NetworkConnectivity(getActivity()); 
if(ncty.haveNetworkConnection()){ 
publishProgress("Please Wait.."); 
fList=nc.getFormDetails(params[0], params[1], params[2]); 
}else{ 
Toast.makeText(getActivity(), "No Network Found", Toast.LENGTH_LONG).show(); 
} 
return fList; 
} 
@Override 
protected void onPostExecute(FormFull result) { 
// TODO Auto-generated method stub 
pd.dismiss(); 
if(result!=null){ 
afaqd.clear(); 
afard.clear(); 
if(result.getFqndata()!=null){ 
afaqd.addAll(result.getFqndata()); 
} 
if(result.getFresdata()!=null){ 
afard.addAll(result.getFresdata()); 
} 
fad.notifyDataSetChanged(); 
} 
super.onPostExecute(result); 
} 
} 


@Override 
public void onPause() { 
super.onPause(); 
if(pd != null){ 
pd.dismiss(); 
} 
} 
} 

我得到同樣的問題進步的對話,但是當我加入的onPause()方法,它解決了但是如何對其餘像烤麪包和網絡連接類

和我的網絡連接類

public class NetworkConnectivity { 

Context ct; 
ConnectivityManager cm; 
NetworkInfo networkInfo; 
public NetworkConnectivity(Context ct){ 
this.ct=ct; 
} 

public boolean haveNetworkConnection() { 
boolean haveConnectedWifi = false; 
boolean haveConnectedMobile = false; 

    cm = (ConnectivityManager) ct.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 
for (NetworkInfo ni : netInfo) { 
if (ni.getTypeName().equalsIgnoreCase("WIFI")) 
if (ni.isConnected()) 
haveConnectedWifi = true; 
if (ni.getTypeName().equalsIgnoreCase("MOBILE")) 
if (ni.isConnected()) 
haveConnectedMobile = true; 
} 
return haveConnectedWifi || haveConnectedMobile; 
} 

public String networkName(){ 
cm = (ConnectivityManager) ct.getSystemService(Context.CONNECTIVITY_SERVICE); 
networkInfo = cm.getActiveNetworkInfo(); 

if (networkInfo != null && networkInfo.isConnected()) { 
if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI) 
return "wifi"; 
else 
return "mobile"; 
}else 
return "not"; 
} 

} 

獲得空指針異常兩個麪包和也的網絡連接類..

在此先感謝

+2

解決您的actiivty像縱向或橫向清單文件 – 2014-11-22 12:18:58

+0

否則,你也可以使用配置變化的方法來處理它。 – Riser 2014-11-22 12:20:20

+0

你可以解釋它如何配置 – 2014-11-22 12:21:03

回答

0

在您的清單將其添加到活動:

android:configChanges="orientation|screenSize" 
0

測試是否getActivity是空值。

@Override 
protected FormFull doInBackground(String... params) { 
    nc=new NetworkConnection(); 
    if (getActivity()!=null) { 
    ncty=new NetworkConnectivity(getActivity()); 
    if(ncty.haveNetworkConnection()){ 
    publishProgress("Please Wait.."); 
    fList=nc.getFormDetails(params[0], params[1], params[2]); 
    }else{ 
    Toast.makeText(getActivity(), "No Network Found", Toast.LENGTH_LONG).show(); 
    } 
          } 
    return fList; 
} 
相關問題