有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法从回调方法更新textview

我在MainActivity中实现了一个接口,在这个回调方法中,我想更新我的TextView,但我得到了nullpointer异常

这是我的主要活动课

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);
}

我的副手

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

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method '安卓.view.Window$Callback 安卓.view.Window.getCallback()' on a null object reference at 安卓.support.v7.app.AppCompatDelegateImplBase.(AppCompatDelegateImplBase.java:117) at 安卓.support.v7.app.AppCompatDelegateImplV9.(AppCompatDelegateImplV9.java:149) at 安卓.support.v7.app.AppCompatDelegateImplV14.(AppCompatDelegateImplV14.java:56) at 安卓.support.v7.app.AppCompatDelegateImplV23.(AppCompatDelegateImplV23.java:31) at 安卓.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:200) at 安卓.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:183) at 安卓.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) at 安卓.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:190) at 安卓.com.callback.MainActivity.doSomething(MainActivity.java:43) at 安卓.com.callback.SecondActivity.onCreate(SecondActivity.java:21)

我已经知道什么是空指针,我已经提到了thisthis


共 (0) 个答案