我想更新屏幕哪个imagebutton两个新闻从新的更新scren得到新的值什么ido?请帮帮我。当我按img2按钮屏幕不更新helpme请如何更新parseJSONData();当img2点击????
时,功能机智的新网址 public class fourthscreen extends Activity
TextView Breakfast,Lunch,Supper;
String SelectMenuAPI;
String url;
FourthcreenAdapter fthadapter;
static ArrayList<Long> Category_ID = new ArrayList<Long>();
static ArrayList<String> Category_name = new ArrayList<String>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fourthscreen);
url=Utils.SelectMenuAPI;
listMainMenu = (ListView) findViewById(R.id.listfourthscrMenu);
date_today = (TextView) findViewById(R.id.date_today);
Breakfast = (TextView) findViewById(R.id.txtfth1);
Lunch = (TextView) findViewById(R.id.txtfth2);
Supper = (TextView) findViewById(R.id.txtfth3);
fthadapter = new FourthcreenAdapter(fourthscreen.this);
ImageView img1 = (ImageView) findViewById(R.id.imgfourth1);
ImageView img2 = (ImageView) findViewById(R.id.imgfourth2);
ImageView img3 = (ImageView) findViewById(R.id.imgfourth3);
parseJSONData();
listMainMenu.setAdapter(fthadapter);
img2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
url=Utils.SelectMenuAPI2;
parseJSONData();
}
});
}
void clearData(){
Category_ID.clear();
Category_name.clear();
}
}
public void parseJSONData(){
// CategoryAPI = Utils.CategoryAPI+"?accesskey="+Utils.AccessKey;
SelectMenuAPI = url;
clearData();
try {
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 15000);
HttpConnectionParams.setSoTimeout(client.getParams(), 15000);
HttpUriRequest request = new HttpGet(SelectMenuAPI);
HttpResponse response = client.execute(request);
InputStream atomInputStream = response.getEntity().getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(atomInputStream));
String line;
String str = "";
while ((line = in.readLine()) != null){
str += line;
}
JSONObject json = new JSONObject(str);
JSONArray data = json.getJSONArray("worldpopulation");
for (int i = 0; i < data.length(); i++) {
JSONObject object = data.getJSONObject(i);
// JSONObject category = object.getJSONObject("Category");
Category_ID.add(Long.parseLong(object.getString("rank")));
Category_name.add(object.getString("name"));
// Category_image.add(object.getString("url"));
Log.d("Category name", Category_name.get(i));
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
// IOConnect = 1;
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:0)
您应该通知用于处理listview中数据的数组适配器。
答案 1 :(得分:0)
您的HTTP请求不应该放在主线程,FourthcreenAdapter这个类的代码,获取数据然后调用Adapter的notifyDataSetChanged()方法
答案 2 :(得分:0)
如果您想查看是否点击了某个ImageView
:
将其粘贴到ImageViews
:
android:onClick="onClickFunction"
然后创建此函数,所以看起来像这样:
public void onClickFunction(View v) {
swith (v.getid()){
case R.id.imgfourth1:
//do something
break;
case R.id.imgfourth2:
//do something
break;
case R.id.imgfourth3:
//do something
break;
}
}
然后,根据点击的视图,使用parseJSONData()
方法中的doInBackground()
启动AsyncTask。