从其他方法调用变量

时间:2016-06-20 22:28:52

标签: java android

我是Java新手,这可能是一个基本问题。这需要我很长时间才能理解,希望有人会对我这么做。为什么我不能将priceMessage放在putExtra(Intent.EXTRA_TEXT ,....)?有什么办法吗?

public String submitOrder (String name, int price, boolean addWhippedCream, boolean addChoc) {
    String priceMessage = getString(R.string.price_symbol) + (calculatePrice(addWhippedCream, addChoc));
    priceMessage += "\n" + getString(R.string.name_order) + name;
    priceMessage += "\n" + getString(R.string.add_whipped_cream) + " (" + addWhippedCream +")";
    priceMessage += "\n" + getString(R.string.add_chocolate) + " (" + addChoc + ")";
    priceMessage += "\n" + getString(R.string.cup_of_coffee) + " : " + quantity + " " + getString(R.string.cup_of_coffee);
    priceMessage += "\n" + getString(R.string.thank_you);
    displayMessage(priceMessage);
    return priceMessage;
}
/**
 * Send Button Order for Intent Action
 */
public void sendOrder (View view){
    EditText nameField = (EditText)findViewById(R.id. name_field);
    String name = nameField.getText().toString();
    Intent sendOrder = new Intent(Intent.ACTION_SENDTO);
    sendOrder.setData(Uri.parse("mailto:"));
    sendOrder.putExtra(Intent.EXTRA_SUBJECT,"Tempahan Kopi : " + name);
    sendOrder.putExtra(Intent.EXTRA_TEXT,priceMessage);
    startActivity(Intent.createChooser(sendOrder,"Hantar Tempahan"));

1 个答案:

答案 0 :(得分:1)

在Java(以及许多其他面向对象的编程语言)中,方法中定义的变量仅在该方法中可用。如果要在两个不同的方法之间共享变量,可以将它们作为方法参数传递,或者将它们创建为静态或实例类成员。

我建议您查看官方Java Trails Tutorials,以帮助您开始使用该语言。它将解释不同类型的变量是什么,以及何时可能需要使用它们。