私は現在、別のクラスの中のメソッドからArrayList
オブジェクトに値を追加しようとしています。あなたはonResponse
方法で見れば内部メソッドから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);
:私は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
オブジェクトのために作成したクラスです。
jsonResponse
の値を
ArrayClass
オブジェクトに追加しようとする試みを確認することができます。しかし、私は私のアプリを起動すると、オブジェクトに値を追加しません。私はPythonのグローバル変数に慣れていて、Javaのセマンティクスに対処する必要はありません。変更を加える必要があるかどうかを確認することができれば、とても感謝しています。
のような別のArrayListを保存することができますか?あなたはどこかにそれらをロードしますか? – varunkr
@Kayne Khouryそれはうまく動作し、私は自分のコードをチェックしました。あなたの満ちた文字列に問題があるかもしれません。ログを使用して印刷してみてください – Srinivasan
@varunkrアクティビティが開始されたときにオブジェクトの長さをトーストに表示しようとしていましたが、ゼロになるため、値が追加されていないとみなしました。 –