В настоящее время я пытаюсь добавить значение к объекту ArrayList
из метода внутри другого класса.Как добавить значение в ArrayList из внутреннего метода?
Вот класс я создал для ArrayList
объекта:
public class ArrayClass {
public static ArrayList<String> array = new ArrayList<>();
public static void add_val(String s){
array.add(s);
}
public static int get_size(){
return array.size();
}
public static String get_val(int i){
return array.get(i);
}
}
И другой класс, где я пытаюсь редактировать ArrayList
объект:
ArrayClass fill = new ArrayClass();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_explore);
Response.Listener<String> responseListener4 = new Response.Listener<String>(){
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse4 = new JSONObject(response);
boolean success = jsonResponse4.getBoolean("success");
if (success){
int l;
String filled;
int length4 = jsonResponse4.length();
for (l=0;l<length4;l++){
filled = jsonResponse4.getString(l+"");
fill.add_val(filled);
}
}else{
AlertDialog.Builder builder = new AlertDialog.Builder(ExploreActivity.this);
builder.setMessage("Could not retrieve restaurant tables filled")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
FilledRequest filledRequest = new FilledRequest(responseListener4);
RequestQueue queue4 = Volley.newRequestQueue(ExploreActivity.this);
queue4.add(filledRequest);
Если посмотреть в методе onResponse
, вы можете увидеть попытку добавить значение из jsonResponse
в объект ArrayClass
. Однако, когда я запускаю свое приложение, оно не добавляет значение в объект. Я привык к глобальным переменным python и не должен разбираться в семантике java, поэтому, если вы можете пролить свет на то, какие изменения нужно сделать, я был бы очень признателен.
Как вы знаете, что значения не добавляются? Вы загружаете их где-нибудь? – varunkr
@ Kayne Khoury Его работа прекрасна, и я проверил с моим кодом. Может быть, проблема с вашей заполненной строкой. Попробуйте распечатать с помощью журнала – Srinivasan
@varunkr Я пытался отобразить длину объекта в тосте, когда действие запускается, и оно приближалось к нулю, поэтому я не предполагал, что значения не добавляются. –