Java 从另一个类访问变量[]时出现问题
我知道这是一个相当基本的问题,并且已经找到了另一个像我一样的问题,但我真的不知道我做错了什么Java 从另一个类访问变量[]时出现问题,java,Java,我知道这是一个相当基本的问题,并且已经找到了另一个像我一样的问题,但我真的不知道我做错了什么 public class InteractiveArrayAdapter extends ArrayAdapter<Model> { private final List<Model> list; private final Activity context; public int teste; public InteractiveArray
public class InteractiveArrayAdapter extends ArrayAdapter<Model> {
private final List<Model> list;
private final Activity context;
public int teste;
public InteractiveArrayAdapter(Activity context, List<Model> list) {
super(context, R.layout.rowbuttonlayout, list);
this.context = context;
this.list = list;
}
public int getTest()
{
return teste;
}
static class ViewHolder {
protected TextView text;
protected CheckBox checkbox;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
teste = 2;
....
}
}
编辑:由于一个愚蠢的错误,我得到了null,现在我得到了原语,正如你们大多数人所说的那样,我期望得到0
在我的应用程序的某个点上,每次单击复选框时,都会执行方法getView。我想将其逐步存储到字符串数组[](I+1)(我只是为了更容易理解而输入int-现在意识到这是一个错误),然后当用户输入ok时,我想访问整个数组。不知道这是否可能是我想要的方式
所以当我这么做的时候
InteractiveArrayAdapter adapt = new InteractiveArrayAdapter(this,
getAPPS(0));
这是没有意义的,因为我不需要再次执行任何操作,我只想检索创建的数组-如果可能的话 您的代码甚至无法编译
返回this.teste
应返回此.test代码>好吧,这不是直接复制/粘贴,因为这显然不会编译。无论何时处理实际错误或问题,最好粘贴实际代码。我们都是程序员,所以我们可以阅读
但是根据上面显示的结构,要么是在返回this.teste
(应该是返回this.test
)行中输入的键入错误在代码中,要么是您没有在构造函数中初始化实例变量test
如果不向我们展示您正在编写的实际代码,就不可能说出(尤其是初始化test
变量的部分,并且返回其值的部分丢失了——恐怕我们不是读心术的人)
因此,这是两个潜在的候选人。但是,另一方面,如果将test
变量标记为public,则不需要为它们使用getter/setter方法,因为任何类都可以访问它们,而无需通过方法调用。public就是这么做的。但根据您的代码,这就是应该发生的事情。您不需要调用B方法来更新teste变量。您是否将“this.teste”初始化为非空值?如本文所述,getTest()
不可能返回null
。该方法声明为返回原语int
。这是一个真正的问题吗?请不要否决。。。我说我知道这是一个基本问题,也是一个问题。@Tiago你的问题,在目前的状态下,不是一个好问题。您没有复制/粘贴,因此代码示例没有反映您的实际代码,并且您描述的“getTest返回空值”问题是不可能的。鉴于这些问题,无法回答您的问题。对不起,这是一个错误的问题(我没有复制粘贴)。
InteractiveArrayAdapter adapt = new InteractiveArrayAdapter(this,
getAPPS(0));