首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android findViewById在主Activity以外的类中使用时返回null

在主Activity以外的类中使用findViewById()时返回null,这是因为findViewById()方法是在Activity的视图层次结构中查找视图的。当在其他类中使用findViewById()时,它无法访问到Activity的视图层次结构,因此返回null。

为了解决这个问题,可以将视图查找的操作移到Activity中,然后将查找到的视图传递给其他类。例如,可以在Activity中创建一个方法来查找视图,并将其传递给其他类。

代码语言:java
复制
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView textView = findViewById(R.id.textView);
        OtherClass otherClass = new OtherClass();
        otherClass.doSomething(textView);
    }
}

public class OtherClass {
    public void doSomething(TextView textView) {
        // 在这里可以使用textView
    }
}

在这个例子中,findViewById()在Activity中被调用,然后将查找到的视图传递给OtherClassdoSomething()方法。这样,就可以避免在其他类中使用findViewById()时返回null的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券