-6

さて、私はコードを書いていましたが、この問題が発生するまで問題なく動作していました:

トークン「catch」の構文エラー、識別子が必要です

問題のあるコードは次のとおりです。

public void onClick(View arg0) {

    EditText num=(EditText)findViewById(R.id.editText1);
    String number = "tel:" +num.getText().toString().trim();
    Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
    startActivity(callIntent);

    TelephonyManager tManager = (TelephonyManager)                      
    getSystemService(Context.TELEPHONY_SERVICE);
    listener = new ListenToPhoneState();
    tManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);

    //here's the problem 
    } catch (ActivityNotFoundException activityException) {
        Log.e("telephony-example", "Call failed", activityException);
    }


    private class ListenToPhoneState extends PhoneStateListener {

        public void onCallStateChanged(int state, String incomingNumber) {
            Log.i("telephony-example", "State changed: " + stateName(state));
        }

        String stateName(int state) {
        switch (state) {
            case TelephonyManager.CALL_STATE_IDLE: return "Idle";
            case TelephonyManager.CALL_STATE_OFFHOOK: return "Off hook";
            case TelephonyManager.CALL_STATE_RINGING: return "Ringing";
        }
        return Integer.toString(state);
    }
}
4

2 に答える 2

5

あなたのエラーは、あなたが持っていcatchないためですtry。Android プロジェクトに取り組もうとする前に、Java 構文にもう少し慣れておくことをお勧めします。

于 2012-07-03T00:18:27.210 に答える
2

try下図のようにブロックを置きます。

public void onClick(View arg0) 
{
    try
    {
         EditText num=(EditText)findViewById(R.id.editText1);
         String number = "tel:" +num.getText().toString().trim();
         Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number));
         startActivity(callIntent);

         TelephonyManager tManager = (TelephonyManager)
         getSystemService(Context.TELEPHONY_SERVICE);
         listener = new ListenToPhoneState();
         tManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
    } 
    catch (ActivityNotFoundException activityException) 
    {
        Log.e("telephony-example", "Call failed", activityException);
    }
}
于 2012-07-03T00:24:45.820 に答える