Question

I have used two buttons and two edittexts in my code on clicking left button a new activity starts which is working properly. By clicking right it should show text entered in first edittext if it is present in array but it doesnt show anything in second edittext my code as follows MainActivity.java

    package com.example1.newactivity;

    import android.os.Bundle;
    import android.app.Activity;
     import android.content.Intent;
       import android.text.Editable;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
   import android.widget.Button;
   import android.widget.EditText;

   public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final int a;
    Button b = (Button) findViewById(R.id.button1);
    Button b1 = (Button) findViewById(R.id.button2);
    final EditText e = (EditText) findViewById(R.id.editText1);
    final EditText e1 = (EditText) findViewById(R.id.editText2);
    final String values[] = new String[] { "Visual Basic", "C#", "C/C++",
            "PHP", "Foxpro", "Delphi", "Java", "Perl",
            "Ruby", "Cobol" };
    a = values.length;

    b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this, Second.class));

        }
    });
    b1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
    // startActivity(new Intent(MainActivity.this,Third.class));
            String number = e.getText().toString();
            number = number.toLowerCase();
            for (int i=0 ; i<a ; i++){
                if (number.equals(values[i].toLowerCase()))
                {
                    e1.setText(values[i]);

                }

            }

        }
    });

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

  }

activity_main.xml

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
   android:layout_height="match_parent"
    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" >

    <Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_marginLeft="46dp"
    android:layout_toRightOf="@+id/button1"
    android:text="Search"
    tools:ignore="HardcodedText" />

    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="36dp"
    android:layout_marginTop="82dp"
    android:text="Contacts"
    tools:ignore="HardcodedText" />

    <EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:ems="10"
    android:inputType="textPersonName" >

    <requestFocus />
    </EditText>

    <EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button2"
    android:layout_alignLeft="@+id/editText2"
    android:layout_marginBottom="26dp"
    android:layout_marginLeft="18dp"
    android:ems="10"
    android:inputType="textPersonName" />

     </RelativeLayout>
Était-ce utile?

La solution

You are typing in the wrong EditText (the one below both the buttons as that has request focus to it).

<EditText
android:id="@+id/**editText2"**
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:ems="10"
android:inputType="textPersonName" >

**<requestFocus />**
</EditText>

Type your text in the top most EditText and you shall see the effect. I rn and checked it myself. Have fun. :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top