Редактировать 4: Я сделал свой собственный сборщик номеров, поэтому мне больше не нужна помощь с этим.
Но я думаю, что проблема в том, что я не использовал dialog.findViewById () ...
Я пытаюсь получить значение EditText
, которое создается программно.Но это не работает, когда запускается функция onClick
, код прерывается.
button.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
numberValue = (EditText) findViewById(R.id.number_picker_value);
Log.d("****2**", numberValue.getText().toString());
dialog.dismiss();
}
});
Значение и идентификатор устанавливаются из другого класса, NumberPicker.java
.
private void initValueEditText( Context context )
{
value = new Integer( 0 );
valueText = new EditText( context );
valueText.setId(R.id.number_picker_value); //ID set here
valueText.setTextSize(25);
...
//value set sooner, look in the link for full code.
}
Полный исходный код NumberPicker.java можно найти здесь здесь .
R.id.number_picker_value
определен в XML-файле с <item type="id" name="number_picker_value" />
.
РЕДАКТИРОВАТЬ:
Что я имею в виду с "кодовые разрывы" , что я получаю Force close dialog
.
EDIT2:
Выход Logcat. (Это то, что вам нужно?)
EDIT3:
Кстати, я никогда не звоню на NumberPicker.java.Он запускается сам, когда я загружаю XML-файл с этим битом кода:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content">
<!-- This seem to start NumberPicker.java, so I have no object to refer to. -->
<com.android.GissaSiffran.NumberPicker
android:id = "@+id/numberPickerDialog"
android:orientation = "horizontal"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:gravity = "center">
</com.android.GissaSiffran.NumberPicker>
<!-- Canel / ok button -->
<Button
android:id = "@+id/cnfrm"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:textSize = "13dp"
android:textStyle = "italic"
android:text = "@string/cnfrmBtn"></Button>
</LinearLayout>
Может быть, я здесь что-то не так делаю?
Когда я запускаю dialog.setContentView(R.layout.pick_a_number_dialog); dialog.show();
, загружается XML и средство выбора номерав диалоге, и я могу выбрать номер.Но я никогда не начинал NumberPicker.java
с то есть NumberPicker np = new NumberPicker(getApplicationContext(), null));
может я тут не так делаю?(Я новичок в Java).
Кстати, мой первый пост здесь.:)