我想知道,如何将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);
答案 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));
它为我的工作完美,我也希望你。试试吧。