0

MainActivity 関数に別の Java クラスにアクセスしようとしています。しかし、私はこれらの機能を使用することができません。アクセスするには、他に何を追加する必要があるか教えてください。

私のコード: MainActivity にアクセスしようとしている場所

   package com.example.musicplayer;

  **import com.example.musicplayer.MainActivity;**
  import android.app.Activity;
  import android.os.Bundle;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Button;
  import android.widget.TextView;
  import android.widget.Toast;

  public class current_song extends Activity implements OnClickListener{


     MainActivity ma = new MainActivity();
     protected void onCreate(Bundle icicle) {

     Bundle extra = getIntent().getExtras();

     super.onCreate(icicle);
     setContentView(R.layout.songplay_page);

     if(extra != null){
         String song_name = extra.getString("song_name");
         TextView textchange = (TextView)findViewById(R.id.current_song_name);
         textchange.setText(song_name);
         textchange.setSelected(true);
     }       

     Button btn_pause = (Button)findViewById(R.id.pause_btn);
     btn_pause.setOnClickListener(this);    

     Button btn_next = (Button)findViewById(R.id.next_btn);
     btn_next.setOnClickListener(this);

     Button btn_prv = (Button)findViewById(R.id.prv_btn);
     btn_prv.setOnClickListener(this);
 }

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(), "In Onclick ()", Toast.LENGTH_SHORT).show();
    switch(v.getId())
    {
        case R.id.pause_btn:
            Toast.makeText(getApplicationContext(), "pause", Toast.LENGTH_SHORT).show();
            ma.pause();
        break;

        case R.id.next_btn:
            ma.next();
        break;

        case R.id.prv_btn:
            ma.prv();
        break;

    }

}

   }
4

2 に答える 2

0

MainActivity にゼロ引数のコンストラクターがあり、pause 、 next 、および prv 関数のアクセス指定子が public であることを確認してください。

于 2013-01-27T18:47:41.870 に答える
0

私は自分で定義したいくつかのメソッドを持っています stop(), next(), pri() 各ボタンをクリックすると、これらのメソッドにアクセスしようとしています。「すべてのメソッドを共有するための個別の共通クラスを作成すると思う場合" あるアクティビティから別のアクティビティへのメソッドにアクセスする方法がわからないため、例を 1 つ示していただけますか。 "

public class myController{

private MyActivity m;

public myController(MyActivity m){
   this.m = m;
}

public void stop(){
   m.stop;
}

}

他のクラスでは、メイン アクティビティで初期化してコントローラ オブジェクトに渡し、stop メソッドを呼び出せるようにします。

于 2013-01-27T21:02:03.527 に答える