Мое приложение для Android ничего не показывает, когда я добавляю цифры в его текстовое поле - PullRequest
2 голосов
/ 08 марта 2011

Я новичок в программировании для Android и пытаюсь создать простую программу.

Если пользователь вводит число в поле ws атакующего и такое же число в поле w защитника, которое вы должны получитьответ.

Я что-то упустил.

package com.example.helloandroid;


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



public class HelloAndroid extends Activity implements OnClickListener
{
    private EditText text, text2, text3;
    private Button btutorial1;

    int result = text.toString().compareTo(text2.toString());





    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView tv = new TextView(this);
        tv.setText("I hope this works");


        text = (EditText) findViewById(R.id.editText1);

        text2 =(EditText) findViewById(R.id.editText2);

        text3 = (EditText) findViewById(R.id.editText3);      

        btutorial1 = (Button) findViewById(R.id.button1);

        btutorial1.setOnClickListener(this);
    }

    public void onClick(View view) 
    {
        switch (view.getId()) 
        {
            case R.id.button1:

                if (text.getText().toString().equals(1) && text2.getText().toString().equals(2)) 
                {
                    text3.setText("Five and above");        
                    return;
                }

                else if (text.getText().toString().equals(1) && text2.getText().toString().equals(3)) 
                {
                    text3.setText("Five and above");        
                    return;
                }

                else if (text.getText().toString().equals(1) && text2.getText().toString().equals(3)) 
                {
                    text3.setText("Four and above");        
                    return;
                }

                else if (text.getText().toString().equals(text2.getText().toString())) 
                {
                    text3.setText("Four and above");        
                    return;
                }

                else
                {
                    text3.setText("Not Working");        
                return;
                }

        }
    }


}

Мой класс XML с именем main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enter Attacker ws"></TextView>

    <EditText android:id="@+id/editText1" android:text="" android:layout_height="wrap_content" android:layout_width="match_parent" android:inputType="number" android:visibility="visible"></EditText>
    <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enter Opponent ws"></TextView>
    <EditText android:id="@+id/editText2" android:text="" android:layout_height="wrap_content" android:layout_width="match_parent" android:visibility="visible" android:inputType="number"></EditText>
     <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Calculate" android:visibility="visible" android:onClick="myClickHandler"></Button>
     <EditText android:id="@+id/editText3"  android:layout_height="wrap_content" android:layout_width="match_parent"  android:name="result" android:editable="false"></EditText>
</LinearLayout>

Ответы [ 3 ]

2 голосов
/ 08 марта 2011

В Java с объектами == проверяет, имеют ли 2 переменные одинаковое расположение в памяти, а не то, что они имеют одинаковое значение. Вместо этого используйте .equals (), и он должен работать

1 голос
/ 08 марта 2011

Если вы сравниваете два целых числа, сделайте это.

int number1 = Integer.parseInt(text);
int number2= Integer.parseInt(text2);

Теперь, если условие сравнивает число1 и число2.

if (number1 == number2)
 { 
 text3.setText("Four and above");
 return;
 }

Помните, что это будет работать только для целых чисел. для любой строки вы получите исключение, которое вы можете обработать позже.

0 голосов
/ 08 марта 2011

, если вы планируете сравнивать текст, используйте команду text.getText().toString().equals(text2.getText().toString())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...