0

在下面的代码中,我将 txt1 txt2 txt3 名称作为参数传递给另一个活动,并获得三个时间变量 param1、param2、param3。而不是这些,how do I use just a single variable which saves the value of press imageview? Can I get just a single variable which shows the press button value?它的工作不是,但如果我按早餐是价值 iwllb 粗体但如果我按晚餐或午餐 textview 不粗体告诉我为什么???

   public class thirdstep extends Activity {
        ImageButton imgNews, imgContact, imgSetting;
        TextView txt1, txt2, txt3;
        private ImageLoader2 imgLoader;
        String MenuSelect;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.category_list2);

            ImageView img1 = (ImageView) findViewById(R.id.img1);
            txt1 = (TextView) findViewById(R.id.txt1);

            ImageView img2 = (ImageView) findViewById(R.id.img2);
            txt2 = (TextView) findViewById(R.id.txt2);

            ImageView img3 = (ImageView) findViewById(R.id.img3);
            txt3 = (TextView) findViewById(R.id.txt3);

            MenuSelect = Utils.MenuSelect;
            imgLoader = new ImageLoader2(this);

            try {

                HttpClient client = new DefaultHttpClient();
                HttpConnectionParams
                        .setConnectionTimeout(client.getParams(), 15000);
                HttpConnectionParams.setSoTimeout(client.getParams(), 15000);
                HttpUriRequest request = new HttpGet(MenuSelect);
                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");
                JSONObject jsonOrder = (JSONObject) data.get(0);

                txt1.setText(jsonOrder.getString("name"));
                String url1 = jsonOrder.getString("url");
                imgLoader.DisplayImage(url1, img1);

                JSONObject jsonOrder2 = (JSONObject) data.get(1);
                txt2.setText(jsonOrder2.getString("name2"));
                String url2 = jsonOrder2.getString("url2");
                imgLoader.DisplayImage(url2, img2);

                JSONObject jsonOrder3 = (JSONObject) data.get(2);
                txt3.setText(jsonOrder3.getString("name3"));
                String url3 = jsonOrder3.getString("url3");
                imgLoader.DisplayImage(url3, img3);

            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block

                e.printStackTrace();
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            img1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent iMenuList = new Intent(thirdstep.this,
                    fourthscreen.class);

            iMenuList.putExtra("Menuitem", txt1.getText().toString());

            startActivity(iMenuList);

        }
    });

    img2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent iMenuList = new Intent(thirdstep.this,
                    fourthscreen.class);

            iMenuList.putExtra("Menuitem", txt2.getText().toString());

            startActivity(iMenuList);

        }
    });

    img3.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent iMenuList = new Intent(thirdstep.this,
                    fourthscreen.class);

            iMenuList.putExtra("Menuitem", txt3.getText().toString());

            startActivity(iMenuList);

        }
    });

}

 }


            public class fourthscreen extends Activity 

            Bundle bundle = this.getIntent().getExtras();
            String param1 = bundle.getString("Breakfast");
            String param2 = bundle.getString("Lunch");
            String param3 = bundle.getString("Supper");

Is it possible i just used single variable?

   String param1 = bundle.getString("Presimageview value???");





                         if(param1.equalsIgnoreCase("BreakFast"))
     {
         Breakfast.setTypeface(null, Typeface.BOLD);
     }
     else 
         if(param1.equalsIgnoreCase("Lunch"))
         {
             Lunch.setTypeface(null, Typeface.BOLD);
         }
         else 
             if(param1.equalsIgnoreCase("Supper"))
             {
                 Lunch.setTypeface(null, Typeface.BOLD);
             }


     i did using this code  iMenuList.putExtra("Menuitem", 
   txt3.getText().toString());   iswork now
 //textview value not bold on lunch and supper only brekafast value wll bold
4

3 回答 3

1

只需将单行放在每个图像点击的点击上。

iMenuList.putExtra("LUNCH_TYPE", txt.getText().toString());

代替

iMenuList.putExtra("Breakfast", txt1.getText().toString());

iMenuList.putExtra("Lunch", txt2.getText().toString());

iMenuList.putExtra("Supper", txt3.getText().toString());

在第四屏活动中只写单行

String strLunchType  = this.getIntent().getStringExtras("LUNCH_TYPE");
于 2013-08-02T07:07:00.617 回答
0

它不清楚你在寻找什么。但是,看看这是不是你想要的:

img1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        Intent iMenuList = new Intent(thirdstep.this,
                fourthscreen.class);

        iMenuList.putExtra("Choice", "BreakFast");

        startActivity(iMenuList);

    }
});

img2.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        Intent iMenuList = new Intent(thirdstep.this,
                fourthscreen.class);

        iMenuList.putExtra("Choice", "Lunch");

        startActivity(iMenuList);

    }
});

img3.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        Intent iMenuList = new Intent(thirdstep.this,
                fourthscreen.class);

        iMenuList.putExtra("Choice", "Supper");

        startActivity(iMenuList);

    }
});

在您的fourthscreen活动中:

String param = bundle.getStringExtra("Choice");

Toast.makeText(this, param, Toast.LENGTH_LONG).show();
于 2013-08-02T07:09:21.080 回答
0

为什么不在每个 OnClickListener 中使用相同的 Extra 名称?:

  iMenuList.putExtra("Food", txtN.getText().toString());

然后在你的第四屏中额外阅读“食物”:

  String param = bundle.getString("Food");
于 2013-08-02T07:11:49.293 回答