2012-01-02 14 views
0

私はこの例外に遭遇しているアプリケーションを作成しています - 文字列インデックスが範囲外で、次の行にエラーが表示されます。android:文字列インデックスが範囲外にある

String netwrkk = mTelephonyMgr.getNetworkOperator(); 
System.out.println("hello"); 
if (netwrkk != null) { 
    System.out.println("hello2"); 
     // int mcc = Integer.parseInt(netwrkk.substring(0, 3)); // exception at this line 

    System.out.println("hello3"); 
     int mnc = Integer.parseInt(netwrkk.substring(3));// exception at this line 
     System.out.println("hello4"); 
    mccc1=(TextView)findViewById(R.id.mccc1); 
    System.out.println("netwrk:"+netwrkk); 
    mccc1.setText(Integer.toString(mcc)); 
    mncc1=(TextView)findViewById(R.id.mncc1); 
    System.out.println("netwrk:"+netwrkk); 
    mncc1.setText(Integer.toString(mnc)); 
    System.out.println("mccc: "+mcc); 
    try{ 
    System.out.println("bearing : "+locn.getBearing()); 
    }catch (Exception e) { 
     System.out.println(e); 
    }System.out.println("mnc"+mnc); 
         } 
+0

** netwrkk **文字列の長さはどのくらいですか? – adatapost

答えて

2

netwrkkの長さが4以上であることを確認してください。そうでない場合、substring(0, 3)は失敗します。

また、アンドロイドのLogクラスに慣れてください。あなたは使用しないでくださいSystem.out.println()

+0

logとSystem.out.println()の主な違いは何ですか?詳細に説明できますか? – Aditya1510

+0

Logクラスは、ログに使用するクラスです。出力はLogCat(System.out.printlnなど)にありますが、出力をフィルタリングしてタグを追加して、出力を生成したクラスを識別することができます。ドキュメント:http://developer.android.com/reference/android/util/Log.html – WarrenFaith

関連する問題