2016-09-19 7 views
-3

Android Boot Campの指示に従って、コンサートチケットを購入するためのアプリを作成する(非常に基本的な)私のコードはexacatly本と同じです。 コードの最後に、ユーザーが希望するチケットの数を入力し、選択したグループのチケットのコストを出力する必要があります。最後の行は私が問題にぶつかるところです。私はなぜそれが動作していないと私はこれが間違っている方法とそれを修正する方法を説明する何も見つかりませんでした理解していません。setTextプレースホルダのリソースを使用

私はリンクされた答えを見て助けたかどうかを確認しましたが、そうではありません。

次のコードは、ここで "テキストを連結しないでください" という警告を修正するための答えがあるMainActivity.java

public class MainActivity extends AppCompatActivity { 
double costPerTicket = 79.99; 
int numberOfTickets; 
double totalCost; 
String groupChoice; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final EditText tickets = (EditText)findViewById(R.id.txtTickets); 
    final Spinner group = (Spinner)findViewById(R.id.txtGroup); 
    Button cost = (Button)findViewById(R.id.btnCost); 
    cost.setOnClickListener(new View.OnClickListener() { 
     final TextView result = ((TextView)findViewById(R.id.txtResult)); 

     @TargetApi(Build.VERSION_CODES.N) 
     @Override 
     public void onClick(View v) { 
      numberOfTickets = Integer.parseInt(tickets.getText().toString()); 
      totalCost = costPerTicket * numberOfTickets; 
      DecimalFormat currency = new DecimalFormat("$###,###.##"); 
      groupChoice = group.getSelectedItem().toString(); 
      result.setText("Cost for " + groupChoice + "is " + currency.format(totalCost)); 

     } 
    } 
    ); 

} 

}

+0

可能な重複[アンドロイドのTextView:「のsetTextで表示されるテキストを連結しないでください」]( http://stackoverflow.com/questions/33164886/android-textview-do-not-concatenate-text-displayed-with-settext) –

+0

問題はなんですか?いくつかのエラーが出ますか? –

+0

私はまったくエラーにはなりません。私がプログラムを実行するとき、私が望むチケットの数を入力して、私が望むグループを選択することができますが、ボタンをクリックすると、 "残念なことに、コンサートチケットが停止しました"というチケットの費用が表示されます。 – vincentvii6

答えて

0

からです。 (私は彼らの名前を知っていないと私はあなたのstring.xmlを文字列が含まれていなかったことに注意してください。)

public class MainActivity extends AppCompatActivity { 
    double costPerTicket = 79.99; 
    int numberOfTickets; 
    double totalCost; 
    String groupChoice; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final EditText tickets = (EditText)findViewById(R.id.txtTickets); 
     final Spinner group = (Spinner)findViewById(R.id.txtGroup); 
     Button cost = (Button)findViewById(R.id.btnCost); 
     cost.setOnClickListener(new View.OnClickListener() { 
            final TextView result = ((TextView)findViewById(R.id.txtResult)); 

            @TargetApi(Build.VERSION_CODES.N) 
            @Override 
            public void onClick(View v) { 
             numberOfTickets = Integer.parseInt(tickets.getText().toString()); 
             totalCost = costPerTicket * numberOfTickets; 
             DecimalFormat currency = new DecimalFormat("$###,###.##"); 
             groupChoice = group.getSelectedItem().toString(); 
             String costForString = "Cost for " + groupChoice + "is " + currency.format(totalCost); 
             result.setText(costForString); 

            } 
           } 
     ); 

    } 
} 
+0

私はあなたが何をしたのか、すべての助けに感謝します。大学のアプリケーション開発クラスでは、本の使用はアンドロイドスタジオの古いバージョン用ですので、翻訳にはいくつか不足しています。 – vincentvii6

+0

私は理解します。私はそれを修正するのを助けることができてうれしい:) – TheAnonymous010

関連する問題