如何将多个值从toast传递给多个TextView?

时间:2013-09-18 07:48:08

标签: java android textview toast

我想知道,如何将Toast中的多个值传递给多个TextView。我有两个类,MainActivity和LoginActivity。 Toast最初显示在MainActivity类中,但是我希望在LoginActivity类中向ToView显示toast的值。

这是我在MainActivity中的代码部分:

double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
  // show Toast
  Toast.makeText(getApplicationContext(),"Lokasi latitude: " + latitude + " Longitude : " + longitude, Toast.LENGTH_LONG).show();

      Intent i = new Intent(getApplicationContext(),LoginActivity.class);
      startActivity(i);

7 个答案:

答案 0 :(得分:1)

在您的主要活动课程中:

Intent i = new Intent(getApplicationContext(),LoginActivity.class);
i.putExtra("val1",latitude);
i.putExtra("val2",longitude);
startActivity(i);
在您的loginactivity类中

Bundle extras = getIntent().getExtras();
int value1 = extras.getInt("val1");
int value2 = extras.getInt("val2");

然后在文本视图中显示此值:

textview1.setText(String.valueOf(value1));
textview2.setText(String.valueOf(value2));

答案 1 :(得分:0)

这取决于首先出现哪个活动,如果登录是在main之后的下一个,那么你需要将纬度和经度保存在某个变量的位置,然后将其作为额外内容传递给LoginActivity,

  Intent i = new Intent(getApplicationContext(),LoginActivity.class);
  i.putExtra("lat", latitude);
  i.putExtra("lng", longitude);
  startActivity(i);

并在登录活动中从意图中读取onCreate ...

答案 2 :(得分:0)

我认为你想要的是查看Bundle类。您可以实例化Bundle并通过字符串,整数等发送。

Intent intent = new Intent(Dashboard.getInstance(), Overview.class);
Bundle bundle = new Bundle();
bundle.putLong("userId", u.getServerId());
intent.putExtras(bundle);
Dashboard.getInstance().startActivity(intent);

我是如何在我的申请中完成的。

然后,您可以访问活动onCreate

中的数据
Bundle bundle = getIntent().getExtras();
userId = bundle.getLong("userId");

答案 3 :(得分:0)

将所有数据(纬度,经度)放入intent extras中,然后在LoginActivity的onCreate中提取并在那里显示吐司......

主要活动:

Intent i = new Intent(getApplicationContext(),LoginActivity.class);     
i.putExtra("lon", longitude);
i.putExtra("lat", latitude);
startActivity(i);

LoginActivity:

Toast.makeText(getApplicationContext(),"Lokasi latitude: " + getIntent().getExtras().getLong("lat")+ " Longitude : " + getIntent().getExtras().getLong("lon"), Toast.LENGTH_LONG).show();

答案 4 :(得分:0)

您可以通过Intent传递值将值传递给LoginActivity.class。 i.putExtras(“fieldname”,“你的价值”);

答案 5 :(得分:0)

很简单。以下是如何在textview中显示值的示例代码。

Example 1 : (Two TextView)

TextView tv = (TextView)findViewbyId(R.id.your_element_id);
tv.setText("Lokasi latitude: " + latitude);

TextView tv1 = (TextView)findViewbyId(R.id.your_element_id1);
tv.setText(" Longitude : " + longitude);

Example 2 : (One TextView)

TextView tv = (TextView) findViewbyId (R. id. your_element_id);
tv.setText("Lokasi latitude: " + latitude + "\n" +
            " Longitude : " + longitude);

您不需要两个不同的textview来显示两个不同的值。我不知道你的要求,但我仍然可以选择。

还有一件事,根据代码,值是双倍的,Textview只支持字符串值。所以你必须将double转换为字符串值,这里是如何将double转换为字符串

的示例
String value1 = String.valueof(latitude);
String value2 = String.valueof(longitude);

现在您可以将值传递给textview,就像这样

tv.setText("Lokasi latitude: " + value1);
tv1.setText(" Longitude : " + value2);

(or)

tv.setText("Lokasi latitude: " + value1 + "\n" +
            " Longitude : " + value2);

我希望你能得到一些东西:)

答案 6 :(得分:0)

您需要在 LoginActivity 中的 Intent 传递该值,该纬度&经度

Intent mIntent = new Intent(getApplicationContext(),LoginActivity.class);
mIntent.putExtra("lat",latitude);
mIntent.putExtra("lon",longitude);
startActivity(mIntent);

获得纬度和价值 LoginActivity 中的经度,并使用 TextView 进行设置。

double latitude = getIntent().getExtras().getDouble("lat");
double longitude = getIntent().getExtras().getDouble("lon");

tv_lat.setText(String.valueOf(latitude));
tv_lon.setText(String.valueOf(longitude));

它为我的工作完美,我也希望你。试试吧。