我四处张望,找不到我的代码出了什么问题,我只是想从自己的类中调用MainActivity方法:
MainActivity.java:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
TestiClass testi = new TestiClass(this,this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void testi_method(){
}
}
TestiClass.java:
import android.app.Activity;
import android.content.Context;
public class TestiClass {
private Activity mActivity;
private Context mContext;
TestiClass(Activity activity ,Context context){
this.mActivity = activity;
this.mContext = context;
}
void test(){
mActivity.testi_method(); //????
}
}
mActivity.testi_method()
说-无法解析方法...
有什么想法吗?
答案 0 :(得分:2)
如果这必须是您的实现,那么它很容易解决:
private final MainActivity mainActivity;
private final Context context;
TestiClass(MainActivity mainActivity, Context context){
this.mainActivity = mainActivity;
this.context = context;
}
答案 1 :(得分:0)
不使用活动,使用您要调用该方法的类。解决方法是
import android.app.Activity;
import android.content.Context;
public class TestiClass {
private MainActivity mActivity;
private Context mContext;
TestiClass(MainActivity activity ,Context context){
this.mActivity = activity;
this.mContext = context;
}
void test(){
mActivity.testi_method();
}
}