gpt4 book ai didi

Java如何在另一个类中使用 Activity 方法

转载 作者:太空宇宙 更新时间:2023-11-03 10:18:11 26 4
gpt4 key购买 nike

例如我有一个 Activity 课。在这个类中我有一些变量,我想在另一个类中使用它们。这是代码:

public class SearchView {
private MenuActivity menuActivity;

public SearchView() {
menuActivity = new MenuActivity();
menuActivity.searchButton = (ImageView) menuActivity.findViewById(R.id.searchButton);
}
}

最后一行给出了一个NullPointerException。我知道我需要对其进行初始化,但我该如何初始化 Activity ?

最佳答案

你有不同的选择......

第一个:

创建一个 getter 以从类中获取值:

public MenuActivity getMenuActivityVar(){
return this.MenuActivity;
}

来自其他使用这种方法的 Activity :

//Other activity or class
//Declare a new var as your class
SearchView sView = new SearchView();

MenuActivity nMenu = sView.getMenuActivityVar();

第二个:

在这种情况下,是一个静态方法意味着所有静态变量都有一个静态值,你不需要从这个类中声明一个新类,因为它是静态的。

public static class SearchView {{
public static MenuActivity menuActivity;
.
.

}

通过此更改,您可以使用以下方式调用此 var:

//This call it's do it from other activity
MyNewVar = SearchView.MenuActivity;

第三个:

public class SearchView {
public MenuActivity menuActivity;
}

当您创建这样的类时,来自其他 Activity :

SearchView sView = new SearchView();
//In this moment your var are null.

如果你在你的类中从方法中修改这个 var,那么你可以像这样使用 var:

MenuActivity MyNewMenu = sView.menuActivity;

我认为最好的选择是第一个,它是类中最重要的部分 getters 和 setters from classes。告诉我我是否帮助了你和好的编程!

关于Java如何在另一个类中使用 Activity 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com