[英]Can't call MainActivity methods from its class
I looked everywhere and couldn't find what's wrong with my code, I am simply trying to call a MainActivity method from its own class:我到处找,找不到我的代码有什么问题,我只是想从它自己的类中调用 MainActivity 方法:
MainActivity.java:主活动.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: 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()
says - cannot resolve method... Any Thoughts? mActivity.testi_method()
说 - 无法解析方法......有什么想法吗?
If this must be your implementation then it is an easy fix:如果这必须是您的实现,那么它很容易解决:
private final MainActivity mainActivity;
private final Context context;
TestiClass(MainActivity mainActivity, Context context){
this.mainActivity = mainActivity;
this.context = context;
}
Dont Use Activity, Use The Class you want to call the method.不要使用活动,使用您要调用方法的类。 here is fix:这是修复:
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();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.