我创建了我的Variables类,并创建了我的ArrayList。 我需要这个ArrayList< Variables>,但是它给出了set方法的错误,我怎样才能将r设置在位置1?被初始化为0。
错误:没有为set(int,int)方法找到合适的方法AbstractList.set(int,Variables)不适用
MainActivity:
public class MainActivity {
Variables variables = new Variables();
ArrayList<Variables> variablesArrayList = new ArrayList<Variables>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
variables.setR(0);
variables.setCont(0);
variablesArrayList.add(variables);
}}
我的代码:
public class T1 extends ActionBarActivity {
Variables variables = new Variables();
ArrayList<Variables> variablesArrayList = new ArrayList<Variables>();
int r;
Random random = new Random();
String[] teste = {
"test1",
"test2",
"test3",
"test4",
"test5",
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_t1);
r = variables.getR();
r = random.nextInt(4);
variablesArrayList.set(4, r);
String jogarPergunta = teste[r];
}}
我的班级变量
public class Variables {
// default constructor
public Variables() {
}
private int cont = 0;
private int r = 0;
public int getCont(){
return cont;
}
public void setCont(int cont){
this.cont = cont;
}
public int getR(){
return r;
}
public void setR(int r){
this.r = r;
}}
答案 0 :(得分:0)
您的ArrayList被定义为包含Variables
个对象:
ArrayList<Variables> variablesArrayList = new ArrayList<Variables>();
但是在使用set方法时你试图输入一个整数:
variablesArrayList.set(4, r);
答案 1 :(得分:0)
您的代码无效,因为您尝试在数组列表中设置r。首先尝试使用variablesArrayList.get(index)
从特定位置获取所需的变量对象,然后在其上设置r。
试试这个:
variablesArrayList.get(0).setR(r)
答案 2 :(得分:0)
你不能添加整数....
variablesArrayList.set(4, r);
改变这样的事情......
variablesArrayList.get(your number).setR(r);
variablesArrayList.get(your number)
将返回您的varibales并使用该对象,您可以调用varibales中定义的任何方法...