我正在为Android开发一个简单的折扣应用程序,但是我的应用程序未运行,希望你们能帮助我确定问题出在哪里。
我是android开发的新手,所以也许我做错了很多事情,这是我的代码。
现在,我只是在RadioButton部分上工作,在其中单击Button,假设是10%,那么它将显示正确保存的金额和总计
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.*;
public class MainActivity extends Activity {
private double listedPrice;
private int discountPrecentID;
private RadioGroup discount;
private double discountPrecent;
// private RadioButton discountPrecent;
private TextView savedAmount;
private TextView payAmount;
private EditText userInput;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userInput = (EditText) findViewById(R.id.editText1);
listedPrice = Double.parseDouble(userInput.getText().toString());
savedAmount = (TextView) findViewById(R.id.textView7);
payAmount = (TextView) findViewById(R.id.textView8);
discount = (RadioGroup) findViewById(R.id.radioGroup1);
// SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1);
// seekBar.setOnSeekBarChangeListener(seekBarListener);
}
public void onClick(View v) {
discountPrecentID = discount.getCheckedRadioButtonId();
// discountPrecent = (RadioButton) findViewById(discountPrecentID);
switch (discountPrecentID) {
case R.id.radio0:{
discountPrecent = 0.10;
savedAmount.setText("$" + listedPrice * discountPrecent);
payAmount.setText("$"
+ (listedPrice - (listedPrice * discountPrecent)));
break;
}
case R.id.radio1:{
discountPrecent = 0.25;
savedAmount.setText("$" + listedPrice * discountPrecent);
payAmount.setText("$"
+ (listedPrice - (listedPrice * discountPrecent)));
break;
}
case R.id.radio2:{
discountPrecent = 0.50;
savedAmount.setText("$" + listedPrice * discountPrecent);
payAmount.setText("$"
+ (listedPrice - (listedPrice * discountPrecent)));
break;
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
这很可能是您的问题
listedPrice = Double.parseDouble(userInput.getText().toString());
用户没有机会用此代码输入内容,onCreate()
因此除非您进行了硬编码,否则您将获得NumberFormatException
。onClick()
用户有机会输入内容后,您需要将该代码置于一个或其他事件中。
您还应该进行一些错误检查,例如将其放入try/catch
。
try
{
listedPrice = Double.parseDouble(userInput.getText().toString());
}
catch (NumberFormatException e)
{
// do something if invalid double
}
在此处发布时,您需要清楚说明预期的工作/不正常以及问题所在。另外,如果您的应用程序崩溃了,那么logcat中将有输出,您需要发布该消息,以便我们可以轻松地查看问题出在哪里。
Eclipse没说您有任何问题,因为这是一个运行时错误,这意味着Eclipse在编译时没有发现任何错误。就Eclipse所知,这意味着您的语法正确,但是您的逻辑却不正确。
通常,折扣是从产品的正常销售价格中扣除的金额或百分比。 这是以低价或低价出售产品的方式。 您可以指定产品的折扣,如以下步骤中所定义 - Step 1 - 转到“ Store ,然后单击“ Configuration 。 Step 2 - 点击管理税率和类型的Taxes链接。 Step 3 - 转到TAX TYPES选项卡,然后单击Add a tax type链接。 Step 4 - 税收类型对税率
如果使用我的优惠券类型,我将尝试折扣购物车中最便宜的商品: 折扣金额非常奇怪-无论我怎么尝试,它都不会达到我期望的价值。起初我以为这是一个百分比折扣,但我希望这是一个固定的数额。我试着在网站的其他地方运行我的“获取最低价格”功能,当最低值项为11.95时,它返回1.195,所以我知道该部分工作正常。但是265.60的总折扣是23.90——我就是不明白! 我只想在购物车里买到最低价的商品,并打折。
限时折扣 限时折扣:设置商品限时折扣。通过限时折扣,商家可以选定一款或多款商品,在一段时间内以指定的折扣出售。以更优的价格吸引消费者,产生更多的销量。 一、添加限时折扣: 点击添加限时折扣 添加活动名称、活动有效期(开始日期和结束日期)、价格保留方式(抹去角和分或者抹去分)、选择商品(选择参与活动的商品)、在下方列表可看到添加的活动商品具体信息(商品名称、价格、库存、折扣和删除)。 添加成功后在后
问题内容: 我们有一种产品,由PayPal付款。前往贝宝之前,请先申请折扣。我们希望创建一个系统,使人们可以输入礼品券代码以获取免费产品(即100%折扣),或输入一些代码以获得特定折扣(即SAVE10-享受10%折扣)。 有些代码只能用于一种用途(即礼券),有些则可以多次使用-即SAVE10。有些也会有有效期。 将使用MySQL和php组合在一起。 外面有没有人已经做过并将这些放在一起?还是知道一
我想尝试定义下面的公式来计算旧价格和新价格之间的关系,并在文本小部件上显示它,但当我想在双变量中使用它时,却出现了这样的错误:“只有静态成员可以在初始化器中访问”,这就是我想要做的:
问题内容: 这是我有趣的问题。当应用未运行时,来自GCM的Android通知未显示标题和内容( 仅 显示应用名称,并且在单击时打开MainActivity)。 但是,当应用程序打开时,它会 成功 显示标题和内容。可能是什么问题?它运行没有问题,我没有进行任何更改。 表现: GcmService.java: 谢谢。 在应用程序运行时记录。 应用未运行时记录。 问题答案: 找到了问题。我使用的是Pla