首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >整数变量不递增

整数变量不递增
EN

Stack Overflow用户
提问于 2014-11-23 22:36:52
回答 3查看 141关注 0票数 0

我的密码有什么问题吗?我不明白它为什么不能正常工作。如果编辑文本中的字符串与另一个字符串相同,但不知何故,整数没有递增,则我希望增加该值。这是我的密码

代码语言:javascript
运行
复制
    public class MainActivity extends Activity {
    int score ;
    EditText q1;
    EditText q2;
    EditText q3;
    EditText q4;
    String ans1, ans2, ans3, ans1a,ans1b,ans1c;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        q1 = (EditText) findViewById(R.id.etAnswer1);
        q2 = (EditText) findViewById(R.id.etAnswer2);
        q3 = (EditText) findViewById(R.id.etAnswer3);
        q4 = (EditText) findViewById(R.id.EtScore);
        score = 0;
    }


    public void Calculate(View v){
        ans1=q1.getText().toString();
        ans2 = q2.getText().toString();
        ans3 = q3.getText().toString();

        if(ans1.equalsIgnoreCase("Obama")){ 
            score = score + 1;
        }

        if(ans2.equalsIgnoreCase("Naira")){

            score = score + 1;
        } 

        if(ans3.equalsIgnoreCase("Illinois")){

            score = score + 1;
        }


        q4.setText(String.valueOf(score));
    }

}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-24 01:46:56

MainActivity.java

代码语言:javascript
运行
复制
package com.example.example;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MainActivity extends Activity {
	int score;
	EditText q1;
	EditText q2;
	EditText q3;
	EditText q4;
	String ans1, ans2, ans3, ans1a, ans1b, ans1c;

	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		q1 = (EditText) findViewById(R.id.etAnswer1);
		q2 = (EditText) findViewById(R.id.etAnswer2);
		q3 = (EditText) findViewById(R.id.editText3);
		q4 = (EditText) findViewById(R.id.editText4);
		score = 0;
	}



	public void Calculate(View v) {
		ans1 = q1.getText().toString();
		ans2 = q2.getText().toString();
		ans3 = q3.getText().toString();

		if (ans1.equalsIgnoreCase("Obama")) {
			score = score + 1;
		}

		if (ans2.equalsIgnoreCase("Naira")) {

			score = score + 1;
		}

		if (ans3.equalsIgnoreCase("Illinois")) {

			score = score + 1;
		}

		q4.setText(String.valueOf(score));
	}

}

activity_main.xml

代码语言:javascript
运行
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/etAnswer1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/etAnswer2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

    <EditText
        android:id="@+id/editText4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="Calculate"
        android:text="Button" />

</LinearLayout>

以上代码生成结果

票数 0
EN

Stack Overflow用户

发布于 2014-11-23 22:43:35

切分此http://developer.android.com/reference/android/text/TextWatcher.html并使用afterTextChanged(),beforeTextChanged(), onTextChanged().设置所有编辑文本

代码语言:javascript
运行
复制
    q1.addTextChangedListener(new TextWatcher() {

      public void afterTextChanged(Editable s) {
             //call method where you are chceking
             isMatch(s);
      }

      public void beforeTextChanged(CharSequence s, int start, int count, int after) {
      }

      public void onTextChanged(CharSequence s, int start, int before, int count) {
      }
   });


   private void isMatch(String s){
    if(s.equalsIgnoreCase("Obama")){ 
        score = score + 1;
    }

    if(s.equalsIgnoreCase("Naira")){

        score = score + 1;
    } 

    if(s.equalsIgnoreCase("Illinois")){

        score = score + 1;
    }


    q4.setText(String.valueOf(score));

   }
票数 0
EN

Stack Overflow用户

发布于 2014-11-24 03:39:24

好的,这就是问题所在,

首先,我假设你想在按钮点击事件上计算“分数”。但是,在哪里没有onClick事件回调。在这种情况下,只有在创建活动时才会列出“分数”。

下面是我要做的事情(假设您的XML定义正确),

代码语言:javascript
运行
复制
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View rootview = inflater.inflate(R.layout.yourLayoutHere, container,false);
         q1 = (EditText) findViewById(R.id.etAnswer1);
         q2 = (EditText) findViewById(R.id.etAnswer2);
         q3 = (EditText) findViewById(R.id.etAnswer3);
         q4 = (EditText) findViewById(R.id.EtScore);
        rootview.findViewById(R.id.yourButtonHere).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          Calculate();

        }
    });

    return rootview;
}   



public void Calculate() {
        ans1 = q1.getText().toString();
        ans2 = q2.getText().toString();
        ans3 = q3.getText().toString();

        if (ans1.equalsIgnoreCase("Obama")) {
            score = score + 1;
        }

        if (ans2.equalsIgnoreCase("Naira")) {

            score = score + 1;
        }

        if (ans3.equalsIgnoreCase("Illinois")) {

            score = score + 1;
        }

        q4.setText(String.valueOf(score));
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27095224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档