Java/Android独家新闻
为什么Java/Android独家新闻,java,android,json,Java,Android,Json,为什么Log.d(“Test”和“+ListOfAttractions3.size()+”)返回0返回2,即使dataserequest()首先被调用?有些日志2也是最后打印的,但我不明白为什么 代码: 公共类测试列表扩展活动{ List ListofAttraction3=新的ArrayList(); @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.
Log.d(“Test”和“+ListOfAttractions3.size()+”)当Log.d(“Test2”和“+ListOfAttractions3.size()+”)时,code>返回0代码>返回2,即使dataserequest()代码>首先被调用?有些日志2也是最后打印的,但我不明白为什么
代码:
公共类测试列表扩展活动{
List ListofAttraction3=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u测试列表);
dataserequest();
Log.d(“Test”和“+ListOfAttractions3.size()+”);
}
/*私有void刷新显示(){
ListView listView2=(ListView)findViewById(R.id.listView2);
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,ListofAttractions 3);
listView2.setAdapter(适配器);
adapter.notifyDataSetChanged();
}*/
私有void dataserequest(){
Response.Listener responseListener=新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONArray JSONArray=新JSONArray(响应);
int i=0;
而(i
Volley在不同的线程上异步执行其任务<代码>队列2。添加不等待。它只是添加并立即返回多线程是一个非常强大/危险的工具。欢迎来到精彩的比赛条件世界。那么,如何不用点击按钮就从我的sqldatabase加载数据到我的ListView呢/
public class Testlist extends Activity {
List<Attractions> ListOfAttractions3 = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_testlist);
DatabseRequest();
Log.d("Test", "" + ListOfAttractions3.size() + "");
}
/*private void reFreshDisplay(){
ListView listView2 = (ListView) findViewById(R.id.listView2);
ArrayAdapter<Attractions> adapter = new ArrayAdapter<Attractions>(this, android.R.layout.simple_list_item_1, ListOfAttractions3);
listView2.setAdapter(adapter);
adapter.notifyDataSetChanged();
}*/
private void DatabseRequest(){
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
int i = 0;
while(i < jsonArray.length()) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
boolean success;
if (jsonObject.getBoolean("success")) success = true;
else success = false;
if (success) {
String attractionname = jsonObject.getString("attractionname");
double lng = jsonObject.getDouble("longitude");
double lat = jsonObject.getDouble("latitude");
int Rating = jsonObject.getInt("rating");
Attractions attraction = new Attractions(attractionname, lng, lat, Rating);
ListOfAttractions3.add(attraction);
Log.d("Test2", "" + ListOfAttractions3.size() + "");
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(Testlist.this);
builder.setMessage("Connection to server Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
i++;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
AttractionRequest attractionRequest = new AttractionRequest(responseListener);
RequestQueue queue2 = Volley.newRequestQueue(Testlist.this);
queue2.add(attractionRequest);
}
}