2013-02-16 3 views
0

У меня есть EditText в моей MainActivity. Когда пользователь нажимает на активность NewFile, макет для этого действия прозрачен, поэтому EditText все еще можно увидеть. Я хочу иметь возможность обновлять EditText в фоновом режиме из действия NewFile. Это то, что я пробовал, что приводит к исключению NullPointerException. Я понимаю, почему это не сработало, но что я могу сделать, чтобы получить результаты, которые я ищу.SetText() from another Activity

NewFile.java

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

     newet = (EditTextLineNumbers) findViewById(R.id.ide); 
     newet.setText("Testing"); 
    } 
+0

Если я правильно понял вопрос, вы имеете в виду, что хотите изменить содержимое текстового редактора в другой деятельности из другого действия. если это так, взгляните на [Ссылка] (http://stackoverflow.com/questions/4909354/change-text-from-other-activity?rq=1). в нижней строке это не хорошая практика, даже если это возможно. P.S. Пожалуйста, удалите андроид из названия, тег android - хороший индикатор! –

+0

Спасибо Saeid, и я не буду добавлять Android в мои вопросы с этого момента :) Приятно знать. – RapsFan1981

ответ

1

Ваш фон EditText не из макета в настоящее время набор для пользователя, таким образом, вы получаете исключение.

Что касается обновления пользовательского интерфейса, 2 вещи, которые могут вам понадобиться.

  1. Пропустите обработчик фоновой активности на новый
  2. Сделать новый как диалог, а не прозрачной деятельности.
  3. Используйте обработчик для отправки уведомлений и обновление пользовательского интерфейса соответственно
+0

Спасибо rock_win. Я думаю, что диалог NewFile - это ответ. – RapsFan1981

1

Как вы думаете, он будет работать ..? Как получить доступ к виду, которое не находится в вашем макете действий.? Для того, чтобы сказать, что это не возможно ...

Вы можете получить EditText вашего предыдущего макета с помощью службы inflatter макета в макете и от вашей точки зрения

1

В деятельности NewFile, есть текст редактирования, который перекрывает свой прозрачный editTextView (может иметь прозрачный BG для этого TextView, которые могут дать иллюзию, что его в фоновом режиме), теперь обновляйте этот editTextView
и
после того, как вы вернетесь назад, возьмите данные из этого edittext (используя setActivityForResult и те механизмы) и заполните предыдущее действие.