我正在尝试调用方法fillList()
来填充ArrayList
。但它说
无效的方法声明,需要返回类型。
void的方法虽然不需要返回类型。我只有Seterster课程包含了setter和getter。
public class MainActivity extends AppCompatActivity {
List<String> termList = new ArrayList<>();
fillList();
//Spinner
Spinner spin = findViewById(R.id.spinner);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private void fillList(){
termList.clear();
//Create term and fill into arraylist
Semester x = new Semester();
x.setSemester("Fall");
termList.add(x.getSemester());
x = new Semester();
x.setSemester("Winter");
termList.add(x.getSemester());
x = new Semester();
x.setSemester("Spring");
termList.add(x.getSemester());
}
}
答案 0 :(得分:1)
fillList
方法中调用onCreate
方法。findViewById
应在setContentView
之后致电。并且必须在创建Activity
时使用。所以改为这个。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fillList();
Spinner spin = findViewById(R.id.spinner);
}
注意强>
全局变量可以直接在类中使用,但该方法必须在方法中使用
创建活动后必须使用·findViewById·方法,并且必须在活动生命周期方法中。
答案 1 :(得分:0)
您正在课程的声明部分中调用方法。你不能这样做,除非它返回一些值并且你将它分配给你的一个变量。
要调用具有void返回类型的方法或只调用方法而不使用其返回值,您应该在另一个方法(如onCreate
或者您可以使用初始化程序块!
public class MainActivity extends AppCompatActivity {
List< String > termList = new ArrayList<>();
Spinner spin;
{
fillList();
}
//other declarations and methods.
此外,只有在调用方法findViewById
setContentView
所以在onCreate中,使用:
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spin = findViewById(R.id.spinner);
答案 2 :(得分:0)
public class MainActivity extends AppCompatActivity {
List<String> termList;
Spinner spin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
termList = new ArrayList<>();
spin = findViewById(R.id.spinner);
fillList();
}
private void fillList(){
termList.clear();
//Create term and fill into arraylist
Semester x = new Semester();
x.setSemester("Fall");
termList.add(x.getSemester());
x = new Semester();
x.setSemester("Winter");
termList.add(x.getSemester());
x = new Semester();
x.setSemester("Spring");
termList.add(x.getSemester());
}
}