我正在创建android应用程序。我创建了一个方法testMethod1()
然后我创建了另一个方法testMethod2()
。我在testMethod1()
声明了类的对象。如何访问obj
中的对象testMethod2()
?
Public class TestClass() {
public void testMethod1() {
final ModalClass obj = new ModalClass();
testMethod2();
}
public void testMethod2() {
//I want to access 'obj' here
}
}
已编辑的排名
我为listview创建了模态。我想将数据设置为listview,如下所示。但我无法访问locationDet
到另一种方法。它显示can not resolve symbol 'locationDet'
。
Public class TestClass() {
private List<LocationDetailModel> LocationDetailList = new
ArrayList<LocationDetailModel>();
public void testMethod1() {
JSONArray results = response.getJSONArray("results");
for (int i = 0; i < results.length(); i++) {
final LocationDetailModel locationDet = new LocationDetailModel();
locationDet.setTitle(obj.getString("name"));
testMethod2();
LocationDetailList.add(locationDet);
}
}
public void testMethod2() {
//I want to access 'obj' here
locationDet.setRating(results.getInt("rating"));
}
}
答案 0 :(得分:1)
您有两种选择: 1.使Variavble类知道如下:
Public class TestClass(){
final ModalClass var = new ModalClass();
public void testMethod1() {
var = new ModalClass();
testMethod2();
}
public void testMethod2() {
//I want to access 'var' here
}
}
或者你给你的Var测试这样的methode2:
Public class TestClass()
{
public void testMethod1() {
final ModalClass var = new ModalClass();
testMethod2(var);
}
public void testMethod2(ModalClass var) {
//I want to access 'var' here
}
}
答案 1 :(得分:1)
您可以将ModalClass var
作为私人属性:
Public class TestClass(){
private final ModalClass var;
public void testMethod1() {
this.var = new ModalClass();
testMethod2();
}
public void testMethod2() {
//I want to access 'var' here
}
}
答案 2 :(得分:0)
您可以访问范围内且可见的变量。在您的情况下,您有一个local
变量,您希望在另一种方法中使用该变量。
您可以将其作为方法参数传递。为此,您需要修改方法的签名,如下所示
public void testMethod2( LocationDetailModel locationModelDet ){
// now you acess the locationModelDet
}
您可以将locationDet
作为参数传递给testMethod2
作为testMethod(locationDet)
另一个替代选项是,您可以创建一个实例变量
,而不是使用局部变量 private LocationDetailModel locationDet = new LocationDetailModel();
现在在testMethod1()
中,您无需创建局部变量,只需设置title
即可。为此,您无需修改testMethid2()
的签名。您将能够在该方法中访问locationDet
。