0

アクティビティから phoneStatelistener を拡張するクラスに文字列を渡す方法があるかどうかを知りたいです。

送信側で、私は使用しました

    Intent pass = new Intent(ListActivity.this,CallHelper.class);
    pass.putExtra("name", name);

そして受信側で..

 public class CallHelper {

     private class CallStateListener extends PhoneStateListener {
         int flag;

         @Override
         public void onCallStateChanged(int state, String incomingNumber) {
             String name = getintent().getStringExtra();
         }

getintent() の部分でエラーが表示されますが、別の方法はありますか?

4

2 に答える 2

0

私はいつもこのようにしています。クラスを作成してから、セッターを使用して値を設定します。私の意見では、インテントを送信するのは少し大変です...

アクティビティ:

class SomeActivity extends Activity {

    public void onCreate(Bundle savedInstanceState){
        CallStateListener listener = new CallStateListener();
        listener.setFlag(myValue);
    }

}

リスナー:

class CallStateListener extends PhoneStateListener {
     int flag;

     @Override
     public void onCallStateChanged(int state, String incomingNumber) {
         String name = getintent().getStringExtra();
     }

     public void setFlag(int flag) {
        this.flag = flag;
     }

     ...

}

それがあなたを助けることを願っています!

于 2013-05-16T07:19:58.203 に答える