Android 获取编程设置的EditText值 编辑4:我做了我自己的数字游戏,所以我不再需要任何帮助了。 但我认为问题是我没有使用dialog.findViewById。。。
我正在尝试获取一个EditText值,它是通过编程创建的。但它不起作用,当onClick函数运行时,代码中断Android 获取编程设置的EditText值 编辑4:我做了我自己的数字游戏,所以我不再需要任何帮助了。 但我认为问题是我没有使用dialog.findViewById。。。,android,dialog,android-edittext,Android,Dialog,Android Edittext,我正在尝试获取一个EditText值,它是通过编程创建的。但它不起作用,当onClick函数运行时,代码中断 button.setOnClickListener(new OnClickListener() { public void onClick(View v) { numberValue = (EditText) findViewById(R.id.number_picker_value); Log.d("****2**", numberVal
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();
}
});
该值和ID是从另一个类NumberPicker.java设置的
可以在这里找到NumberPicker.java的完整源代码
R.id.number\u picker\u值在XML文件中定义为
编辑:
我对代码中断的意思是,我得到了一个强制关闭对话框
编辑2:
这是你想要的吗
编辑3:
顺便说一句,我从未访问过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.setContentViewR.layout.pick_a_number_对话框时;dialog.show;XML加载,数字选择器在对话框中,我可以选择数字。
但是我从来没有用ie NumberPicker np=new NumberPickergetApplicationContext,null启动过NumberPicker.java;也许我做错了?我是java新手
顺便说一句,我在这里的第一篇帖子: 对于未来的参考者,我使用的是我猜相同的NumberPicker.java。为了获得EditText的值,我在OnCreateView方法中创建了对EditText的引用,如下所示:
private EditText txtQty;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_numberpicker,container,false);
txtQty = (EditText) view.findViewById(idText);
return view;
}
然后在onClick方法中:
String newOnHand = txtQty.getText().toString();
你说的代码中断是什么意思?错误消息是什么?你得到堆栈跟踪了吗?如果是,请将其添加到您的问题中。欢迎来到StackOverflow:你说密码坏了是什么意思?应用程序是否因强制关闭对话框而崩溃?在这种情况下,请从日志中发布stacktrace。谢谢。@alextsc谢谢:我想这是堆栈树,eclipse中有一个logcat。如果你是windows。您可以在窗口->Showview->logcat中找到logcat。将出现错误行。这就是你需要作为stacktrace发布的内容。@blessenm我刚刚创建了Android logcat和eclipse控制台,希望有人是对的。
String newOnHand = txtQty.getText().toString();