У меня есть интерфейс, реализованный в MainActivity, и внутри этого метода обратного вызова я хочу обновить свой TextView, но я получаю исключение nullpointer.
Это мой класс MainActivity
public class MainActivity extends AppCompatActivity implements GenericCallback
{
Context mcontext;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mcontext = this;
Button btn = findViewById(R.id.btn);
tv = findViewById(R.id.tv);
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
startActivity(new Intent(MainActivity.this,SecondActivity.class));
}
});
}
@Override
public void doSomething(Context context, String... a)
{
Toast.makeText(context,"Calback"+a[0]+a[1],Toast.LENGTH_SHORT).show();
tv = findViewById(R.id.tv);//Line 43
tv.setText(a[0]+a[1]);
}
Мой интерфейс выглядит так
public interface GenericCallback
{
void doSomething(Context context, String... a);
}
My SecomdActivity
public class SecondActivity extends AppCompatActivity
{
Context context;
GenericCallback genericCallback = new MainActivity();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
context = this;
String a="Secomd",b = "Activity";
genericCallback.doSomething(context,a,b);
finish();
}
}
StackTrace
Причина: java.lang.NullPointerException: попытка вызвать виртуальную
Метод 'android.view.Window $ Callback
android.view.Window.getCallback () 'для пустой ссылки на объект
на android.support.v7.app.AppCompatDelegateImplBase. (AppCompatDelegateImplBase.java:117)
на android.support.v7.app.AppCompatDelegateImplV9. (AppCompatDelegateImplV9.java:149)
на android.support.v7.app.AppCompatDelegateImplV14. (AppCompatDelegateImplV14.java:56)
на android.support.v7.app.AppCompatDelegateImplV23. (AppCompatDelegateImplV23.java:31)
на android.support.v7.app.AppCompatDelegate.create (AppCompatDelegate.java:200)
на android.support.v7.app.AppCompatDelegate.create (AppCompatDelegate.java:183)
на android.support.v7.app.AppCompatActivity.getDelegate (AppCompatActivity.java:519)
на android.support.v7.app.AppCompatActivity.findViewById (AppCompatActivity.java:190)
на android.com.callback.MainActivity.doSomething (MainActivity.java:43)
на android.com.callback.SecondActivity.onCreate (SecondActivity.java:21)
Я уже знаю, что такое nullpointer, я уже упоминал это и это