0

これは、ブラックベリーで正常に動作し、textview に表示される 3 つの応答を取得するコードですが、Android でこのコードを使用すると、値が 3 回ではなく 1 回だけ表示されるため、1 つのテキスト ビューを使用して 3 回の結果を出力するにはどうすればよいですか??

  for (int x = 7; x <= xmlRespone.length - 1; x = x + 3) {

                    TextView lblTransactionDate = 
  (TextView)     findViewById(R.id.lblTransactionDate);
                    lblTransactionDate.setText("Transaction   
 Date : "+ xmlRespone[x][1]);              





     lblTransactionDate.setTextColor(getResources().getColor
  (R.color.text_color_slateblue));

                    TextView lblAmount = (TextView)   
      findViewById(R.id.lblAmount);
                    lblAmount.setText("Amount : " +    
      xmlRespone[x + 1][1]);
4

2 に答える 2

1

単一の TextView ですべての値を表示するには、 TextView.append(CharSequence text)を参照してください。コードを次のように変更します。

    TextView lblTransactionDate = (TextView)findViewById(R.id.lblTransactionDate);

    TextView lblAmount = (TextView)findViewById(R.id.lblAmount);

    for (int x = 7; x <= xmlRespone.length - 1; x = x + 3) {
// if you want to clear Prev value
    lblTransactionDate.setText(""); 
    lblTransactionDate.setText("Transaction  Date : "+ xmlRespone[x][1]);        
    // if you want to append with Prev Value
    lblTransactionDate.append("Transaction  Date : "+ xmlRespone[x][1]);      

    lblTransactionDate.setTextColor(getResources().getColor(R.color.text_color_slateblue));

    // if you want to clear Prev value
    lblAmount.setText("Amount : " + xmlRespone[x + 1][1]);
    // if you want to append with Prev Value
    lblAmount.append("Amount : " +  xmlRespone[x + 1][1]);
于 2012-09-06T11:50:56.223 に答える
0

うーん... textview は 3 つの値すべてを取得しますが、最後の値のみが表示されたままになります。テキストを追加したい場合は、

text.setText(text.getText() + "new_text");

または、単に使用できます

text.append("new_text");

しかし、「通知」のようなメッセージをユーザーに投稿したいだけかもしれません。Toast はこのように使用されます。

Toast.makeText(context, "Signing in with default user.", Toast.LENGTH_LONG).show();

これを使用しない場合は、必ず UI スレッドから Toast を呼び出してください。

public void fireToast(final String toast)
{
    handler.post(new Runnable()
    {
        @Override
        public void run()
        {
            Toast.makeText(getApplicationContext(), toast, Toast.LENGTH_SHORT).show();
        }
    });
}
于 2012-09-06T11:49:21.543 に答える