2016-01-20 3 views
0

Почему значение не появилось во втором действии, которое является консультациейДокторАнемия? Я думаю, что код уже правильный. Но он отображает нуль.Передача значения цели другому виду деятельности

resultAnaemia

if(symptom16.equals("Yes")) 
{         
    weight=0.11;             
    newWeight = 0.0 * 0.15; //cf disease = 0.6, [min=0.15]        
    String cf = Double.toString(newWeight); 


    Intent intent = new Intent(resultAnemia.this, consultDoctorAnaemia.class); 

    intent.putExtra("cfDiseases", cf); 

    startActivity(intent); 

} 

consultDoctorAnaemia

TextView textView = (TextView) findViewById(R.id.textCF); 

    //get passed intent 
    Intent intent = getIntent(); 

    if(null != intent) 
    { 
     //get cf value from intent 
     String cf = intent.getStringExtra("cfDiseases"); 
     textView.setText("Certainty value : " + cf); 
    } 
+0

В какой метод вы выполнения кода вы размещены с 'consultDoctorAnaemia'? Также опубликуйте свой манифест и объясните навигацию между действиями (например: какие действия уже активны, когда вы вызываете 'startActivity()' для запуска 'consultDoctorAnaemia'. –

ответ

0

Вам нужно сделать в consultDoctorAnaemia деятельности:

Bundle bundle = getIntent().getExtras(); 

String value2 = bundle.getString("cfDiseases"); 
+0

Глупости! Этот код делает ** то же самое **, что и OP код! –

+0

nop, OP получает намерение, но не дополнение ... –

+0

вызов 'getStringExtra()' на 'Intent' делает ** точно такую ​​же вещь **, как и то, что вы разместили. Попробуйте сами. –

1
Bundle extras = getIntent().getExtras(); 
     if (extras != null) { 
      String Diseases = extras.getString("cfDiseases"); 
     } 
0

Попробуйте это в первой деятельности:

// do your intent setup somewhere and then setup bundle 
Bundle info = new Bundle(); 
info.putString("cfDiseases", cf); 
intent.putExtras(info); 
startActivity(intent); 

В новой деятельности: Bundle info = new Bundle(); info = getIntent(). GetExtras(); cf = info.getString ("cfDiseases");

0

Вы также можете передать значение как таким образом

Объявите вашу строку глобальных и статических Например

Признаться в переменной в этом классе

Класс

public class A extends Activity{ 

static String cf = "abcde"; 


} 

доступа переменная в этом классе В

класс B

public class B extends Activity{ 
String Temp; 

//you can get variable like this 
Temp=A.cf ; 
Toast.makeText(B.this, "Temp = "+Temp, Toast.LENGTH_SHORT).show(); 

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