在下面的代码中,我将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
答案 0 :(得分: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");
答案 1 :(得分: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();
答案 2 :(得分:0)
为什么不在每个OnClickListener中使用相同的Extra名称?:
iMenuList.putExtra("Food", txtN.getText().toString());
然后阅读" Food"在你的屏幕上额外:
String param = bundle.getString("Food");