私は5つのタブでタブアクティビティを持っており、タブの1つでインターネット接続を検出しようとしており、インターネット接続がある場合はいくつかのアクティビティを実行しています..私が使用しているコードは
// flag for Internet connection status
Boolean isInternetPresent = false;
// Connection detector class
ConnectionDetector cd;
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
isInternetPresent = cd.isConnectingToInternet();
if (isInternetPresent) {
// Internet Connection is Present
// make HTTP requests
Toast.makeText(ApplicationManagement.tabcontext, "Data Uploading to the Server", Toast.LENGTH_LONG).show();
} else {
// Internet connection is not present
// Ask user to connect to Internet
Toast.makeText(ApplicationManagement.tabcontext, "Please check your internet connection and TRY AGAIN", Toast.LENGTH_LONG).show();
}
}
});
行で NullPointerException を取得していますisInternetPresent = cd.isConnectingToInternet();
および ConnectionDetector.java は次のとおりです。
public class ConnectionDetector {
private Context _context;
public ConnectionDetector(Context context){
this._context = context;
}
public boolean isConnectingToInternet(){
ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null)
{
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
return false;
}
}
なぜヌルポインター例外があるのか わかりませんか??? タブは多くのコンテキストの問題を引き起こすため、タブを使用しているためですか??? 助けてください!