Отправка данных из формы для отображения в другом представлении Android - PullRequest
0 голосов
/ 02 февраля 2012

Я пытаюсь отобразить текст, который вводится пользователем, если он не нулевой, но у меня возникли некоторые проблемы (я нуб Java).Вот поток моего приложения:

Начинается с Main.java с кнопкой:

-Кнопка: Профиль

Если щелкнуть профиль, приложение перейдет на страницу профиля Display.java , на которой также имеется кнопка:

-Кнопка: Редактировать профиль

-В этом представлении также отображается информация (имя, номер телефона, почтовый индекс и т. Д.)

Когда пользователь нажимает кнопку Изменить профиль, программа переходит в форму EditProfile.java , котораяесть форма, в которую пользователи вводят информацию, а затем есть кнопка для отправки.

-Кнопка: Отправить

Эта кнопка отправки возвращает пользователя к предыдущему виду(Display.java) и отображает информацию, которая была ранее введена в форму со строкой resultText .

Я не уверен, как заставить это работать.Если у кого-то есть какие-либо предложения, я буду очень признателен за помощь!

Редактировать: Следует отметить, что я получаю сообщение об ошибке "Мертвый код" в выражении if в Display.java

Display.java:

public class Display extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.display);

    String newline = System.getProperty("line.separator");

    TextView resultText = (TextView) findViewById(R.id.resultText);
    Bundle bundle = getIntent().getExtras();

    String firstName = null;
    String lastName;
    String phoneNumber;
    String city;
    String zipCode;

    if(firstName != null) {

        firstName = bundle.getString("EditTextFirstName");
        lastName = bundle.getString("EditTextLastName");
        phoneNumber = bundle.getString("EditTextPhoneNumber");
        city = bundle.getString("EditTextCity");
        zipCode = bundle.getString("EditTextZipCode");
        resultText.setText("Name: " + firstName + " " + lastName + newline + "Phone Number: " + phoneNumber +
        newline + "City: " + city + newline + "Zip Code: " + zipCode + newline);
    }

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

        public void onClick(View v) {
            startActivity(new Intent(Display.this, EditProfile.class));             
        }
    });
}   
}

EditProfile.java:

public class EditProfile extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.profile);       

 }
public void sendFeedback(View button) {
    final EditText firstnameField = (EditText)this.findViewById(R.id.EditTextFirstName);
    String firstname = firstnameField.getText().toString();

    final EditText lastnameField = (EditText) findViewById(R.id.EditTextLastName);
    String lastname = lastnameField.getText().toString();

    final EditText phoneNumberField = (EditText) findViewById(R.id.EditTextPhoneNumber);
    String phoneNumber = phoneNumberField.getText().toString();

    final EditText cityField = (EditText) findViewById(R.id.EditTextCity);
    String city = cityField.getText().toString();

    final EditText zipCodeField = (EditText) findViewById(R.id.EditTextZipCode);
    String zipcode = zipCodeField.getText().toString();

    int count = 0;
    int fnlen=firstname.length();
    int lnlen=lastname.length();
    int phlen=phoneNumber.length();
    int citylen=city.length();
    int zclen=zipcode.length();

    if (fnlen<=0){
        firstnameField.setError("Enter your first name");
    }
    else {
        count += 1;
    }



    if (lnlen<=0){
        lastnameField.setError("Enter your last name");
    }
    else {
        count += 1;
    }


    if (phlen<=0){
        phoneNumberField.setError("Enter your ten digit phone number");
    }
    else if (phlen!=10){
        phoneNumberField.setError("Phone number must be ten digits");
    }   
    else {
        count += 1;
    }

    if (citylen<=0){
        cityField.setError("Enter your city");
    }
    else {
        count += 1;         
    }
    if (zclen<=0){
        zipCodeField.setError("Enter your Zip Code");
    }
    else if (zclen!=5){
        zipCodeField.setError("Enter a five digit zip code");
    }
    else {
        count += 1;
    }   

    if (count == 5) {

        Intent intent = new Intent();
        intent.setClass(this,Display.class);
        intent.putExtra("EditTextFirstName",firstnameField.getText().toString());
        intent.putExtra("EditTextLastName",lastnameField.getText().toString());
        intent.putExtra("EditTextPhoneNumber",phoneNumberField.getText().toString());
        intent.putExtra("EditTextCity",cityField.getText().toString());
        intent.putExtra("EditTextZipCode",zipCodeField.getText().toString());

        startActivity(intent);
    }
    else {
        count = 0;
    }
}   
}

1 Ответ

1 голос
/ 02 февраля 2012

попробуйте с `Intent i = getIntent ();if (i.getExtras ()! = null) {

        firstName = bundle.getString("EditTextFirstName");
    lastName = bundle.getString("EditTextLastName");
    phoneNumber = bundle.getString("EditTextPhoneNumber");
    city = bundle.getString("EditTextCity");
    zipCode = bundle.getString("EditTextZipCode");
    resultText.setText("Name: " + firstName + " " + lastName + newline + "Phone Number: " + phoneNumber +
    newline + "City: " + city + newline + "Zip Code: " + zipCode + newline);
    }`in your Display Class instead of firstName != null) { ...} and let me know if any queries.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...