2

チュートリアルに従っていて、いくつかのコードを試していたところ、「aditya」と入力するとアプリケーションがクラッシュし続けることがわかりました。間違って使用しColor.rgbていることはわかっていますが、方法がわかりません。

chkCmd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String check = input.getText().toString();
            display.setText(check);
            f (check.equals("left")) {
                display.setGravity(Gravity.LEFT);
            } else if (check.equals("center")) {
                display.setGravity(Gravity.CENTER);
            } else if (check.equals("right")) {
                display.setGravity(Gravity.RIGHT);
            } **else if (check.equals("aditya")) {
                display.setText(Color.rgb(184, 134, 011));**
4

3 に答える 3

3

この行

display.setText(Color.rgb(184, 134, 011))

ディスプレイ上のテキストを に設定しようとしていますColor.rgb(184, 134, 011)

あなたがやろうとしているのは、テキストの色を設定することです。これを達成するには、

display.setTextColor(Color.rgb(184, 134, 011))

ディスプレイにテキストを設定する前に。

于 2013-01-29T23:30:07.733 に答える
2

テキストの色を設定するのではなく、解析された色の整数にテキストを設定しようとしています。これを使用してみてください:

display.setTextColor(Color.rgb(184, 134, 011));
于 2013-01-29T23:26:45.760 に答える
1

Android は int をリソース ID として認識し、リソースを見つけられずにクラッシュするため、クラッシュすると思います。置き換えてみてください。

display.setText(Color.rgb(184, 134, 011));

display.setText(String.valueOf(Color.rgb(184, 134, 011)));

それはうまくいくはずです

于 2013-01-29T23:29:45.280 に答える