1

そこで、ボタンをクリックしてテキストビューを変更する方法について早い段階で質問したところ、うまくいきました!

だから今...カウンターとして1つのテキストビューと制限として別のテキストビューがあり、カウンターが制限に達すると、textview1が0に戻り、制限が増加する場合、どうすればよいでしょうか。

私はこれを試しました:

If (textViewCounter==textViewLimit);
textViewCounter.setText(0);
textViewLimit.setText(textViewLimit.getText().toString() + 100);

しかし、それはうまくいきません...他にどうすればいいですか?

編集私の質問は単なる例です。私はそれを使って自分の価値観を操作しようとしていました。問題のコードは btnBattle onClick の一番下にあります

package com.example.intent_buttontests;

import android.app.Activity;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class PlayScreen extends Activity {

private int i = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.play_screen);


    String Name = getIntent().getStringExtra("strName");
    TextView textview5 = (TextView) findViewById(R.id.textView5);
    textview5.setText(Name);
    textview5.setTextColor(Color.CYAN);

    String Race = getIntent().getStringExtra("strRace");
    TextView textViewStrRace = (TextView) findViewById(R.id.textViewStrRace);
    textViewStrRace.setText(Race);

    String Class = getIntent().getStringExtra("strClass");
    TextView textViewStrClass = (TextView) findViewById(R.id.TextViewStrClass);
    textViewStrClass.setText(Class);

    String Alliance = getIntent().getStringExtra("strAlliance");
    TextView textViewStrAlliance = (TextView) findViewById(R.id.textViewStrAlliance);
    textViewStrAlliance.setText(Alliance);

    Button btnInventory = (Button) findViewById(R.id.button1);
    btnInventory.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(v.getContext(), Inventory.class);
            startActivityForResult(intent, 0);

        }
    });

    Button btnEquipment = (Button) findViewById(R.id.button2);
    btnEquipment.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(v.getContext(), Equipment.class);
            startActivityForResult(intent, 0);

        }
    });

    Button btnStats = (Button) findViewById(R.id.button3);
    btnStats.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(v.getContext(), Statistics.class);
            startActivityForResult(intent, 0);

        }
    });

    Button btnShop = (Button) findViewById(R.id.Button01);
    btnShop.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(v.getContext(), Shop.class);
            startActivityForResult(intent, 0);

        }
    });

    Button btnCrafting = (Button) findViewById(R.id.button4);
    btnCrafting.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(v.getContext(), Crafting.class);
            startActivityForResult(intent, 0);

        }
    });

    Button btnClassTraining = (Button) findViewById(R.id.button5);
    btnClassTraining.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(v.getContext(), ClassTraining.class);
            startActivityForResult(intent, 0);

        }
    });

    Button btnBattle = (Button) findViewById(R.id.btnBattle);
    btnBattle.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method
            // Definitions

            Spinner spinnerMonsters = (Spinner) findViewById(R.id.spinnerMonsters);
            TextView textViewBattleResults = (TextView) findViewById(R.id.textViewBattleResults);
            TextView textViewXPValue = (TextView) findViewById(R.id.textViewXPValue);
            TextView textViewXpNextLevel = (TextView) findViewById(R.id.textViewXpNextLevel);

            // When XP limit is reached, increases by 100 and sets back to 0

            if (textViewXPValue.getText().toString().equals(textViewXpNextLevel.getText().toString())); {
            textViewXPValue.setText("0");
            int newLimit = Integer.parseInt(textViewXpNextLevel.getText().toString()) + 100;
            textViewXpNextLevel.setText(newLimit+"");

            }


            if (spinnerMonsters.getItemAtPosition(0).toString().equals("(0) Training Dummy")); {
            textViewBattleResults.setText("You have killed Training Dummy for 10 experience points!");
            i = i+10;
            textViewXPValue.setText(String.valueOf(i));
            }

        }

    });




}

}

4

4 に答える 4

2

両方のテキストビューのテキスト (文字列) を比較するだけでなく、

アップデート:

If (textViewCounter.getText().toString().equals(textViewLimit.getText().toString()));
{
 textViewCounter.setText(0);
 int newLimit = Integer.parseInt(textViewLimit.getText().toString()) + 100;
 textViewLimit.setText(newLimit+"");
}
于 2012-09-18T05:23:16.947 に答える
1

もちろん機能しません。textView の内容を直接比較することはできません。すべきことは、テキスト ビューのコンテンツを保持する文字列を作成することです。

String stextViewCounter = textViewCounter.getText().toString();
String stextViewLimit = textViewLimit.getText().toString();

if(stextViewCounter.equal(stextViewLimit)){
     textViewCounter.setText(0);
     textViewLimit.setText(stextViewLimit + 100);
}

整数を使用しない限り、parse int を使用して解析する必要があります

于 2012-09-18T05:34:46.550 に答える
0
If (textViewCounter.getText().toString().equals(textViewLimit.getText().toString()));
{
textViewCounter.setText("");
int n = Integer.parseInt(textViewLimit.getText().toString()) + 100;
textViewLimit.setText("" + n);
}
于 2012-09-18T05:31:44.027 に答える
-1

これを使ってみてください

If (textViewCounter.getText().toString().equals(textViewLimit.getText().toString()))
textViewCounter.setText(0);
textViewLimit.setText(textViewLimit.getText().toString() + 100);

これはあなたを助けるかもしれません

于 2012-09-18T05:23:17.470 に答える