我知道这是一个小而愚蠢的问题但是,虽然我不是Java的初学者,但我仍然处于学习的开端。 我正在制作一个用户可以购买书籍的应用程序。首先,所有价格书都有相同的价格,然后我的“客户”说他想改变一些价格,并搞砸了我的工作流程,我的逻辑和我的代码.... 如何改变。
当用户点击某本书时,他可以填写表格。在该表格中,他将找到一个数量的字段。该应用程序将自动计算最终价格。 我只有代码没有问题...但我无法绕过它。 通常我会伪代码,以便我可以“可视化”我的代码,但在这种情况下,我不能。我不知道为什么这么难...因为可能解决方案很可耻。
这是我的第一本书活动。有七个。这本书的价格是100
public class PrvaKnjiga extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.knjiga);
PDFView pdfView = (PDFView)findViewById(R.id.pdfView);
pdfView.fromAsset("loops.pdf").load();
pdfView.enableSwipe(true);
FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.myFAB);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent prvaKnjigaIntent = new Intent(PrvaKnjiga.this, Narudzbina.class);
startActivity(prvaKnjigaIntent);
}
});
FloatingActionButton fabKontakt = (FloatingActionButton) findViewById(R.id.myFAB_kontakt);
fabKontakt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + "+1111111111"));
startActivity(intent);
Toast.makeText(PrvaKnjiga.this, "Radi", Toast.LENGTH_SHORT).show();
}
});
}
}
这是我的“订单”活动。我在计算价格。这是第一本书100的价格。但是如何处理其他价格呢?
public class Narudzbina extends AppCompatActivity {
String porukaGreska="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.narudzbina);
}
public void kreiranjeNarudzbine(View v) {
EditText editTextIme = (EditText) findViewById(R.id.ime);
String imeNarucioca = editTextIme.getText().toString();
editTextIme.setText(StringUtils.capitalize(imeNarucioca.toLowerCase().trim()));
EditText editTextPrezime = (EditText) findViewById(R.id.prezime);
String prezimeNarucioca = editTextPrezime.getText().toString();
editTextPrezime.setText(StringUtils.capitalize(prezimeNarucioca.toLowerCase().trim()));
EditText editTelefonNarucioca = (EditText) findViewById(R.id.telefon);
String telefonNarucioca = editTelefonNarucioca.getText().toString();
EditText editAdresaNarucioca = (EditText) findViewById(adresa);
String adresaNarucioca = editAdresaNarucioca.getText().toString();
editAdresaNarucioca.setText(StringUtils.capitalize(adresaNarucioca.toLowerCase().trim()));
EditText editGradNarucioca = (EditText) findViewById(R.id.grad);
String gradNarucioca = editGradNarucioca.getText().toString();
editGradNarucioca.setText(StringUtils.capitalize(gradNarucioca.toLowerCase().trim()));
EditText editKolicina = (EditText) findViewById(R.id.kolicina_narucena);
String narucenaKolicina = editKolicina.getText().toString();
// int kolicina = Integer.parseInt(narucenaKolicina);
int kolicina = 0;
try {
kolicina = Integer.parseInt(narucenaKolicina);
} catch (NumberFormatException e) {
narucenaKolicina = "";
}
int cenaNarudzbine = cena(kolicina);
String poruka = sumiranjeNarudzbine(imeNarucioca, prezimeNarucioca, telefonNarucioca, adresaNarucioca, gradNarucioca, cenaNarudzbine);
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", "+111111111");
smsIntent.putExtra("sms_body", poruka);
if(imeNarucioca!=null && imeNarucioca.equals("")){
Toast.makeText(Narudzbina.this, "Unesite ime", Toast.LENGTH_LONG).show();
}
else if(prezimeNarucioca!=null && prezimeNarucioca.equals("")){
Toast.makeText(Narudzbina.this,"Unesite Prezime", Toast.LENGTH_LONG).show();
}
else if(telefonNarucioca!=null && telefonNarucioca.equals("")){
Toast.makeText(Narudzbina.this,"Unesite kontakt telefon", Toast.LENGTH_LONG).show();
}
else if(adresaNarucioca!=null && adresaNarucioca.equals("")){
Toast.makeText(Narudzbina.this,"Unesite adresu",Toast.LENGTH_LONG).show();
}
else if(gradNarucioca!=null && gradNarucioca.equals("")){
Toast.makeText(Narudzbina.this, "Navedite grad", Toast.LENGTH_LONG).show();
}
else if (narucenaKolicina != null && narucenaKolicina.equals("")){
Toast.makeText(Narudzbina.this, "Navedite zeljenu kolicinu", Toast.LENGTH_LONG).show();
}
else{
startActivity(smsIntent);
}
}
private int cena(int kolicina){
int cenaKnjige = 100;
cenaKnjige = kolicina * cenaKnjige;
return cenaKnjige;
}
private String sumiranjeNarudzbine(String imeNarucioca, String prezimeNarucioca, String telefonNarucioca,String adresaNarucioca,String gradNarucioca,int cenaNarudzbine) {
String poruka = "Ime: " + imeNarucioca;
poruka = poruka + "\n" + "Prezime: " + prezimeNarucioca;
poruka = poruka + "\n" + "Broj Telefona: " + telefonNarucioca ;
poruka = poruka + "\n" + "Adresa Nrucioca: " + adresaNarucioca;
poruka = poruka + "\n" + "Grad: " + gradNarucioca;
poruka = poruka + "\n" + "Cena: " + cenaNarudzbine;
return poruka;
}
}
答案 0 :(得分:0)
我无法理解你遇到问题的地方。我已经做了一切。您只需让用户在单击书籍时显示弹出窗口,您将在其中显示两个编辑文本;一个是价格,另一个是数量。当用户输入时,你必须从编辑文本中获取值,并调用方法" cena()",但你必须在参数中添加其他参数以获得价格。您必须添加"提交/完成"弹出窗口中的按钮,然后你必须调用方法" cena()"并传递价格和数量的价值。它将根据您的旧逻辑进行计算。还有一件事你需要替换变量" cenaKnjige"使用用户键入的价格值。 我猜你现在只是累了,有时会发生。休息一下,回到代码中,你就可以解决它。