У меня возникли проблемы с использованием Butterknife
и получения текста от EditTexts
. У меня есть активность со многими EditTexts
. Для краткости, я включу только 2-3 в моем примере (примерах) кода. Я в конечном счете беру введенный текст и использую его с библиотекой iText, чтобы выплюнуть PDF-файл.butterknife редактировать текст и строка «не может разрешить символ»
Во-первых, я связывании с видом нож для масла:
public class NewPatientActivity extends AppCompatActivity {
@BindView(R.id.new_patient_editText_last_name)
TextInputEditText lastNameTextInputEditText;
@BindView(R.id.new_patient_editText_nick_name)
TextInputEditText nickNameTextInputEditText;
@BindView(R.id.new_patient_editText_date_of_birth)
TextInputEditText dateOfBirthTextInputEditText;
Тогда я ButterKnife.bind(this);
в onCreate()
.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_patient);
ButterKnife.bind(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
Затем, нажав на мою кнопку плавучего действий предполагается захватить текст, который был введен текст в EditTexts
:
@OnClick(R.id.floating_action_button)
public void finishedPatientNotesFabClick(View view) {
try {
String lastNameText = lastNameTextInputEditText.getText().toString();
String nickNameText = nickNameTextInputEditText.getText().toString();
String dateOfBirth = dateOfBirthTextInputEditText.getText().toString();
}
Тогда я пытаюсь использовать эти строки, когда я использую их в качестве параметра строительство нового пункта:
private static void addBioAndContactInfoChapter(Document document) throws DocumentException {
bioAndContactInfoChapter.add(new Paragraph(R.string.patient_last_name) + ": " +
lastNameText);
bioAndContactInfoChapter.add(new Paragraph(R.string.patient_nickname) + ": " +
nickNameText);
bioAndContactInfoChapter.add(new Paragraph(R.string.patient_date_of_birth) + ": " +
dateOfBirth);
Но вот где проблема. Когда я использую эти строки, я получаю
не может решить символ '__string name'.
Класс Paragraph имеет конструктор, который принимает только строку, поэтому я не думаю, что это проблема. Что-то фанки происходит из-за Butterknife или что? Любая помощь будет принята с благодарностью!
Все еще не работает. Я объявил «private String lastNameText;» сразу после того, как начальный Butterknife связывается перед onCreate(). Затем в onClickListener я сделал «lastNameText = lastNameTextInputEditText.getText(). ToString();» но когда я пытаюсь использовать строку «lastNameText», [теперь я получаю «нестатическое поле не может ссылаться из статического контекста»] (http://imgur.com/a/kQiGD) – langsmith
Право. Ваш метод статичен. Таким образом, ваша переменная должна быть также статичной, если вы хотите получить доступ к ней внутри этого метода. Объявите переменную как статическую. Или, если вам не нужен статический метод, удалите его из метода. http://stackoverflow.com/questions/413898/what-does-the-static-keyword-do-in-a-class может помочь лучше понять статическое ключевое слово. –