2016-12-16 76 views
0

我试图表明举杯当两个EditText一个主题的是EMPTY防止应用程序从崩溃因的传递一个空值到下一个活动Button >>检查EditText的内容?

这里,当点击是我的方法(巴顿的方法):

public void mods(View view) { 

    dNewBuy = Double.parseDouble(newBuy.getText().toString()); 
    dNewSell = Double.parseDouble(newSell.getText().toString()); 

    String BuyVal = newBuy.getText().toString(); 
    String SellVal = newSell.getText().toString(); 

    if((BuyVal.isEmpty()) || (SellVal.isEmpty())) { 
     Toast.makeText(this, "ZERO", Toast.LENGTH_SHORT).show(); 
    } else { 
     Intent intent = new Intent(Values.this, calculator.class); 
     Bundle b = new Bundle(); 
     b.putDouble("valueSell", dNewSell); 
     b.putDouble("valueBuy", dNewBuy); 
     b.putString("flag", flag); 
     intent.putExtras(b); 
     startActivity(intent); 
    } 

newSellnewBuy两个EditTexts ..

} else {}部分工作正常:/

,但是,它给了我这个当值为空..

java.lang.IllegalStateException: Could not execute method of the activity 

清单::

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".calculator" /> 
    <activity android:name=".About" /> 
    <activity android:name=".Values" 
       android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar"> 
    </activity> 
</application> 

+0

请向我们显示您的清单。 –

+0

@PedroOliveira完成 –

+0

请提供完整的堆栈跟踪。似乎还有另一个错误,您可能会从日志中错过它。 –

回答

0

这是因为空值不能被转换为double。

“dNewBuy = Double.parseDouble(newBuy.getText()的toString());

dNewSell = Double.parseDouble(newSell.getText()的toString());”

所以修改你的代码是这样的。

public void mods(View view) { 

String BuyVal = newBuy.getText().toString(); 
String SellVal = newSell.getText().toString(); 

if((BuyVal.isEmpty()) || (SellVal.isEmpty())) { 
    Toast.makeText(this, "ZERO", Toast.LENGTH_SHORT).show(); 
} else { 

dNewBuy = Double.parseDouble(newBuy.getText().toString()); 
dNewSell = Double.parseDouble(newSell.getText().toString()); 

    Intent intent = new Intent(Values.this, calculator.class); 
    Bundle b = new Bundle(); 
    b.putDouble("valueSell", dNewSell); 
    b.putDouble("valueBuy", dNewBuy); 
    b.putString("flag", flag); 
    intent.putExtras(b); 
    startActivity(intent); 

} 
} 
+0

谢谢..这适用于我>> –

0
if((newBuy.isEmpty()) || (newSell.isEmpty())) { 
    Toast.makeText(this, "ZERO", Toast.LENGTH_SHORT).show(); 
} 
+0

不工作的人 –

0
public void mods(View view) { 

dNewBuy = Double.parseDouble(newBuy.getText().toString()); 
dNewSell = Double.parseDouble(newSell.getText().toString()); 

String BuyVal = newBuy.getText().toString(); 
String SellVal = newSell.getText().toString(); 
if(BuyVal !=null && SellVal !=null){ 
if((BuyVal.isEmpty()) || (SellVal.isEmpty())) { 
    Toast.makeText(this, "ZERO", Toast.LENGTH_SHORT).show(); 
} else { 
    Intent intent = new Intent(Values.this, calculator.class); 
    Bundle b = new Bundle(); 
    b.putDouble("valueSell", dNewSell); 
    b.putDouble("valueBuy", dNewBuy); 
    b.putString("flag", flag); 
    intent.putExtras(b); 
    startActivity(intent); 
} 

}

试试这个,这也许是因为字符串是空

+0

同样的结果!!!! –