-1

なぜこれが起こっているのか本当にわかりません。getLine1Number がインスタンス化されていないように見えますが、それへの 2 番目の参照はそれを必要としないようです (null チェックをコメントアウトしてもエラーはスローされません。

働く:

public class StartActivity extends Activity implements OnClickListener {

    Button goButton;
    Context c;
    boolean isAirPlaneMode, isMDNPresent = false;//boolean values to check for airplane mode and if the sim populates the MDN
    int simState;
    TelephonyManager tm;
    boolean NetworkConnection = false;//boolean to check the Network Availability
    AlertDialog mConfirmAlert = null;
    TextView text;
    TextView mUpdatetext;
    int version;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.start);
        version = android.os.Build.VERSION.SDK_INT;
        tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        // to read the SIM state
        simState = tm.getSimState();
        System.out.println("Sim State" + simState);
        //if (tm.getLine1Number = null) {
            //isMDNPresent = true;
        //}
        // to check for MDN
        if (tm.getLine1Number().equalsIgnoreCase("")) {
            isMDNPresent = true;
        }

THROWS ERROR: getLine1Number を解決できないか、フィールドではありません

public class StartActivity extends Activity implements OnClickListener {

    Button goButton;
    Context c;
    boolean isAirPlaneMode, isMDNPresent = false;//boolean values to check for airplane mode and if the sim populates the MDN
    int simState;
    TelephonyManager tm;
    boolean NetworkConnection = false;//boolean to check the Network Availability
    AlertDialog mConfirmAlert = null;
    TextView text;
    TextView mUpdatetext;
    int version;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.start);
        version = android.os.Build.VERSION.SDK_INT;
        tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        // to read the SIM state
        simState = tm.getSimState();
        System.out.println("Sim State" + simState);
        if (tm.getLine1Number = null) {
            isMDNPresent = true;
        }
        // to check for MDN
        if (tm.getLine1Number().equalsIgnoreCase("")) {
            isMDNPresent = true;
        }
4

3 に答える 3

0

そのはず

    if (tm.getLine1Number() == null) {

() に注意してください

于 2013-10-11T17:21:40.170 に答える
0

作業部分ではメソッドです

if (tm.getLine1Number().

非動作コードでは、変数として使用されます (no"()")

if (tm.getLine1Number = null)

また、初期化しないで比較したいので、から変更します

if (tm.getLine1Number = null)

if (tm.getLine1Number() == null)

余分な「=」を追加します

于 2013-10-11T17:21:51.427 に答える
0

そもそも「tm.getLine1Number = null」とフィールドのように書いていましたね。2 番目に 'tm.getLine1Number().equalsIgnoreCase("") をメソッドのように記述しました。そのため、一方が機能し、他方が機能しません。

于 2013-10-11T17:23:57.593 に答える