Я начинающий разработчик Android и буду благодарен вам за помощь.Android - доступ к объекту, добавленному после запуска активности
У меня есть активность android, которая создает флажок и EditText, когда пользователь нажимает кнопку. Пользователь может добавить столько флагов/EditTexts, которые ему нравятся.
Это XML-файл представления, который добавляется к деятельности:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" >
<requestFocus />
</EditText>
</LinearLayout>
</LinearLayout>
Это код Java:
public void onclickplus (View view){
LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View view1 = inflate.inflate(R.layout.row_checkitem, null);
mainLayout.addView(view1);
count = count +1;
}
Мой вопрос, как же мы получаем доступ эти флажки и EditTexts добавлены в фактическом java-коде, чтобы я мог сохранить их данные в моей базе данных.
Если эти объекты, где предопределенные я бы, например:
EditText text1;
text1 = (EditText) findViewById(R.id.editText1);
text1.getText().toString();
и так далее, чтобы получить доступ к ценности использования EditText в.
В этом случае, однако, эти объекты отсутствуют, когда действие запускается.
Можете ли вы мне помочь? Спасибо.
Приветствуем вас за ваш ответ. Я изучил решение, которое вы связали, я могу создать количество EditTexts и получить доступ к их значениям, используя следующий код: EditText [] ed; ed = new EditText [count]; \t \t \t \t для (INT I = 0; я <число; я ++) { \t \t \t изд [I] = новый EditText (это); \t \t \t ed [i].SETID (я); \t \t \t \t \t \t mainLayout.addView (ed [i]); \t \t} Однако, насколько я понимаю, я могу добавить только выбранное количество из них, в отличие от пользователя, раздувающего представление xml и добавляя или удаляя столько, сколько он считает нужным. Все еще ищете способ доступа к этим флажкам и editTexts, добавленным путем раздувания представления xml. –
Зачем вам это нужно? Если вы посмотрите на пример, просто добавьте их в макет с помощью: 'tableLayout.addView (createOneFullRow (rowId));'. Доступ к полям EditText (например, для получения текста) может быть выполнен с помощью 'ed [i] .getText(). ToString();' Так был вопрос? Динамическое добавление и доступ к полям. –
Я вернусь к вам. Поработаем сегодня вечером и посмотрим, как это работает. Спасибо. –