如何在add()命令中設置listview? 首先這是代碼(不是真正的代碼)如何在add()命令中設置listview?
API_Interface.java
public interface API_Interface{
@GET("/api/{buzz}")
Call<Buzz> Buzz_API(@Path("buzz") String buzz);
}
Buzz.java
public class Buzz{
@SerializedName("buzz")
@Expose
private String buzz;
public String getBuzz() {
return buzz;
}
public void setBuzz(String buzz) {
this.buzz = buzz;
}
}
MainActivity.class
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_main);
ListView listView = (ListView) findViewById(R.id.list_view);
BuzzArrayList<Buzz> buzzArrayList = new BuzzArrayList<Buzz>();
BuzzAdapter buzzAdapter = new BuzzAdapter(this, 0, buzzArrayList);
listView.setAdapter(buzzAdapter);
Retrofit buzz_retro = new Retrofit.Builder()
.baseUrl("https://buzz.com")
.addConverterFactory(GsonConverterFactory.create())
.build();
API_Interface buzz_service = buzz_retro.create(API_Interface.class);
//Get data
Call<Buzz> buzz1 = buzz_service.buzz_API("Apple");
buzz1.enqueue(new Callback<Buzz>() {
@Override
public void onResponse(Call<Buzz> call, Response<Buzz> response) {
String buzz_1 = response.body().getBuzz(); //buzz_1="Apple"
buzzArrayList.add(new Exchange(buzz_1));
buzzAdapter.notifyDataSetChanged();
}
});
Call<Buzz> buzz2 = buzz_service.buzz_API("Banana");
buzz2.enqueue(new Callback<Buzz>() {
@Override
public void onResponse(Call<Buzz> call, Response<Buzz> response) {
String buzz_2 = response.body().getBuzz(); //buzz_2="Banana"
buzzArrayList.add(new Exchange(buzz_2));
buzzAdapter.notifyDataSetChanged();
}
});
Call<Buzz> buzz3 = buzz_service.buzz_API("Rice");
buzz3.enqueue(new Callback<Buzz>() {
@Override
public void onResponse(Call<Buzz> call, Response<Buzz> response) {
String buzz_3 = response.body().getBuzz(); //buzz_3="Rice"
buzzArrayList.add(new Exchange(buzz_3));
buzzAdapter.notifyDataSetChanged();
}
});
}
我只是想顯示的ListView以這樣的add()順序。
Apple
Banana
Rice
但是,其實listview顯示是這樣的。
Banana
Rice
Apple
或
Rice
Banana
Apple
如何更改我的代碼顯示爲故意的嗎?我期待着您的回覆。謝謝。
調用API同步 –