获取数据的方法使用延迟加载模式,因此可以安全地多次调用它。
第一个例子:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//Create temporary array list
ArrayList<String> tempArray = new ArrayList<>();
//Go trough all spinners and add selected items to temp array list
for(int i =1001; i<categorySpinnerId-1; i++){
tempArray.add(((Spinner)findViewById(i)).getSelectedItem().toString());
}
//Remove from original array list items of temp array list
categoryArrayList.removeAll(tempArray);
categorySpinnerAdapter.notifyDataSetChanged();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
第二个例子:
variable = large::method::to::get::data()
// some other code
variable.doStuff()
// some other code
variable.doMoreStuff()
答案 0 :(得分:-1)
首先看,第一种方法比第二种方法更容易阅读和维护。 如果你有如此长行的庞大代码,人们会发现更难以理解,但支持它比干净简单的选择。