2016-04-29 58 views
-1

我是一個與Android的begginer,這讓我卡住了。我有我的MainActivity.java此意圖:我的意圖不工作

Intent callLong = new Intent(MainActivity.this, LongActivity.class); 
    callLong.putExtra("value1",value1); 
    callLong.putExtra("value1",value2); 
    callLong.putExtra("value1",value3); 
    startActivity(callLong); 

我聲明瞭雙值1,2和3,但它說:「變量可能尚未初始化」

在我LongActivity.java我把這個代碼:

Intent callLong = getIntent(); 

,但它不能正常工作。請幫助:(

這是整個代碼:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

public void submitUnit (View view) { 

    double value1,value2,value3; 

    RadioButton radioButtonInit1 = (RadioButton) findViewById(R.id.unit_init1); 
    assert radioButtonInit1 != null; 
    RadioButton radioButtonInit2 = (RadioButton) findViewById(R.id.unit_init2); 
    assert radioButtonInit2 != null; 
    RadioButton radioButtonInit3 = (RadioButton) findViewById(R.id.unit_init3); 
    assert radioButtonInit3 != null; 
    RadioButton radioButtonFinal1 = (RadioButton) findViewById(R.id.unit_final1); 
    assert radioButtonFinal1 != null; 
    RadioButton radioButtonFinal2 = (RadioButton) findViewById(R.id.unit_final2); 
    assert radioButtonFinal2 != null; 
    RadioButton radioButtonFinal3 = (RadioButton) findViewById(R.id.unit_final3); 
    assert radioButtonFinal3 != null; 


    switch (view.getId()) { 
     case (R.id.longitud): 
      radioButtonInit1.setText(R.string.long1); 
      radioButtonInit2.setText(R.string.long2); 
      radioButtonInit3.setText(R.string.long3); 
      radioButtonFinal1.setText(R.string.long1); 
      radioButtonFinal2.setText(R.string.long2); 
      radioButtonFinal3.setText(R.string.long3); 
      value1 = 100; 
      value2 = 39.37; 
      value3 = 0.3937; 
      break; 
     case (R.id.area): 
      radioButtonInit1.setText(R.string.area1); 
      radioButtonInit2.setText(R.string.area2); 
      radioButtonInit3.setText(R.string.area3); 
      radioButtonFinal1.setText(R.string.area1); 
      radioButtonFinal2.setText(R.string.area2); 
      radioButtonFinal3.setText(R.string.area3); 
      value1 = 10000; 
      value2 = 1550; 
      value3 = 0.155; 
      break; 
     case (R.id.volumen): 
      radioButtonInit1.setText(R.string.volumen1); 
      radioButtonInit2.setText(R.string.volumen2); 
      radioButtonInit3.setText(R.string.volumen3); 
      radioButtonFinal1.setText(R.string.volumen1); 
      radioButtonFinal2.setText(R.string.volumen2); 
      radioButtonFinal3.setText(R.string.volumen3); 
      value1 = 1000000; 
      value2 = 61023.74; 
      value3 = 0.061023; 
      break; 
     case (R.id.masa): 
      radioButtonInit1.setText(R.string.masa1); 
      radioButtonInit2.setText(R.string.masa2); 
      radioButtonInit3.setText(R.string.masa3); 
      radioButtonFinal1.setText(R.string.masa1); 
      radioButtonFinal2.setText(R.string.masa2); 
      radioButtonFinal3.setText(R.string.masa3); 
      value1 = 0.001; 
      value2 = 0.03527; 
      value3 = 35.2739; 
      break; 
     case (R.id.velocidad): 
      radioButtonInit1.setText(R.string.vel1); 
      radioButtonInit2.setText(R.string.vel2); 
      radioButtonInit3.setText(R.string.vel3); 
      radioButtonFinal1.setText(R.string.vel1); 
      radioButtonFinal2.setText(R.string.vel2); 
      radioButtonFinal3.setText(R.string.vel3); 
      value1 = 3.6; 
      value2 = 2.2369; 
      value3 = 0.62137; 
      break; 
     case (R.id.tiempo): 
      radioButtonInit1.setText(R.string.tiempo1); 
      radioButtonInit2.setText(R.string.tiempo2); 
      radioButtonInit3.setText(R.string.tiempo3); 
      radioButtonFinal1.setText(R.string.tiempo1); 
      radioButtonFinal2.setText(R.string.tiempo2); 
      radioButtonFinal3.setText(R.string.tiempo3); 
      value1 = 24; 
      value2 = 1440; 
      value3 = 60; 
      break; 
     case (R.id.fuerza): 
      radioButtonInit1.setText(R.string.fuerza1); 
      radioButtonInit2.setText(R.string.fuerza2); 
      radioButtonInit3.setText(R.string.fuerza3); 
      radioButtonFinal1.setText(R.string.fuerza1); 
      radioButtonFinal2.setText(R.string.fuerza2); 
      radioButtonFinal3.setText(R.string.fuerza3); 
      value1 = 0.2248; 
      value2 = 0.10197; 
      value3 = 0.453592; 
      break; 
     case (R.id.presion): 
      radioButtonInit1.setText(R.string.presion1); 
      radioButtonInit2.setText(R.string.presion2); 
      radioButtonInit3.setText(R.string.presion3); 
      radioButtonFinal1.setText(R.string.presion1); 
      radioButtonFinal2.setText(R.string.presion2); 
      radioButtonFinal3.setText(R.string.presion3); 
      value1 = 0.01; 
      value2 = 0.009865; 
      value3 = 0.9869; 
      break; 
     case (R.id.energia): 
      radioButtonInit1.setText(R.string.energia1); 
      radioButtonInit2.setText(R.string.energia2); 
      radioButtonInit3.setText(R.string.energia3); 
      radioButtonFinal1.setText(R.string.energia1); 
      radioButtonFinal2.setText(R.string.energia2); 
      radioButtonFinal3.setText(R.string.energia3); 
      value1 = 0.238845; 
      value2 = 0.947817; 
      value3 = 3.96832; 
      break; 
     case (R.id.moneda): 
      radioButtonInit1.setText(R.string.moneda1); 
      radioButtonInit2.setText(R.string.moneda2); 
      radioButtonInit3.setText(R.string.moneda3); 
      radioButtonFinal1.setText(R.string.moneda1); 
      radioButtonFinal2.setText(R.string.moneda2); 
      radioButtonFinal3.setText(R.string.moneda3); 
      value1 = 0.14463; 
      value2 = 0.126292351; 
      value3 = 0.87320992; 
      break; 
    } 

    Intent callLong = new Intent(MainActivity.this, LongActivity.class); 
    callLong.putExtra("value1",value1); 
    callLong.putExtra("value1",value2); 
    callLong.putExtra("value1",value3); 
    startActivity(callLong); 
} 

}

+0

你得到了什麼錯誤信息? – Masum

+0

把整個代碼。你說你已經初始化了變量,但看起來你錯了。 –

+0

value1,value2,value3帶紅色下劃線,並顯示消息「Variable'valuex'可能未被初始化。」但是我在全球範圍內建立了一條雙線, –

回答

0

你應該在你switch聲明並設置爲默認值的變量value1value2value3怎麼一回事,因爲在添加一個默認選項view.getId()的值不符合任何案例選項 例如:

.... 
case (R.id.moneda): 
      radioButtonInit1.setText(R.string.moneda1); 
      radioButtonInit2.setText(R.string.moneda2); 
      radioButtonInit3.setText(R.string.moneda3); 
      radioButtonFinal1.setText(R.string.moneda1); 
      radioButtonFinal2.setText(R.string.moneda2); 
      radioButtonFinal3.setText(R.string.moneda3); 
      value1 = 0.14463; 
      value2 = 0.126292351; 
      value3 = 0.87320992; 
      break; 
default: 
      value1= 0; 
      value2= 0; 
      value3= 0; 
} // end of switch sentence 
+0

謝謝!有效。 –