在B类中,我有以下方法:

public String sendPlayerDataMethod() {
  String testt = "thissss is for testing";
  /***
  Intent sendPlayerData = new Intent(this, FullPlayerList.class);
  sendPlayerData.putExtra(Intent.EXTRA_TEXT, testt);
  startActivity(sendPlayerData);
  ***/
 return testt;
}


在A类中,我只想简单地调用此方法。我以为ClassB.sendPlayerDataMethod()可以解决问题,但是当我键入IntelliJ时,似乎并没有意识到。

这两堂课都是公开的...
我想调用该方法,然后将返回值分配给ClassA中的var。

谢谢

最佳答案

听起来您想将信息从一个活动传递到另一个活动。

常见的方法是在类A中创建一个Intent(就像在您的注释代码中一样),并通过从类B中的onCreate()访问有关savedInstance方法的信息来接收该意图。

不要编写静态属性和内容之类的肮脏技巧。跟着
Activity Lifecycle

public class ActivityA extends Activity {
    ...
    public void sendPlayerDataMethod() {
        String test = "thissss is for testing";
        Intent sendPlayerData = new Intent(this, ActivityB.class);
        sendPlayerData.putExtra(Intent.EXTRA_TEXT, test);
        startActivity(sendPlayerData);
    }
    ...
}

public class ActivityB extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        String test = savedInstanceState.getString(Intent.EXTRA_TEXT);
        Log.i("MyApp", test); // log your String in LogCat
    }

}


(此代码只是在没有IDE的情况下在此处开发的,因此无法保证)

10-07 21:04