2013-09-18 2 views
-2

Я хотел бы знать, как передать несколько значений из Toast в несколько TextView. У меня есть два класса: MainActivity и LoginActivity. Тост изначально отображается в классе MainActivity, но я хотел бы показать значение из тоста в TextView в классе LoginActivity.Как передать несколько значений из тоста в несколько TextView?

вот часть моего кода в 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

Какой из них вы хотите передать. – Aravin

ответ

1

В классе mainactivity:

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)); 
0

Это зависит от активности приходит первым, Если Войти находится рядом после того, как основной, так что вам нужно, чтобы сохранить широту и долготу некоторых, где в качестве переменной, а затем передать его в качестве статистов в LoginActivity,

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

и в активности входа читайте их в onCreate from the intent ...

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"); 
0

Поместите все данные (широта, долгота) в намерениях статистов, а затем извлечь его внутрь OnCreate из LoginActivity и показать тост там ...

Основная деятельность:

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(); 
0

Вы можете передать значение в LoginActivity.class, передав значение через Intent. i.putExtras ("fieldname", "your value");

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 поддерживает только строковое значение.Таким образом, вы должны преобразовать двойной строковое значение, вот пример того, как преобразовать двойной строку

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); 

Я надеюсь, что вы получили некоторые вещи:)

0

Вам необходимо пройти это значение с Намерение в LoginActivity, который находится в & широты долготы.

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)); 

Его работая для меня идеально, я надеюсь на вас также. Попробуй.

Смежные вопросы