如何刷新哪个图像按钮按下屏幕?

时间:2013-08-02 10:47:16

标签: android

我想更新屏幕哪个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();
            }   
        }

3 个答案:

答案 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。