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 函数的访问说明符是公共的。

于 2013-01-27T18:47:41.870 回答
0

为了响应“我有一些由我定义的方法 stop()、next()、pri() 我试图在单击每个按钮时访问这些方法。如果您认为“创建一个单独的公共类来共享所有方法“你能告诉我一个例子吗,因为我不知道如何从一个活动访问一个方法到另一个活动。

public class myController{

private MyActivity m;

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

public void stop(){
   m.stop;
}

}

在其他类中,您在主活动中初始化并将控制器对象传递给它,以便它可以调用停止方法

于 2013-01-27T21:02:03.527 回答