有关于android 自定义对话框, 怎么才能拿到dialog界面上的值? 现在是启动dialog画面后,在text里面输入值后,单击确认按钮,就报错!.解决了马上给分,请高手看小弟的代码:public class MainActivity extends Activity {
private Button btn=null;
private EditText etxt=null;
private TextView txt=null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); btn=(Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
showDialog(1);
}});
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
Dialog dialog=null;
if(id==1)
{
LayoutInflater inflater=LayoutInflater.from(this);
View layout=inflater.inflate(R.layout.dialog, null);
Builder builder2=new Builder(this);
builder2.setTitle("DialogTest");
builder2.setView(layout);
DialogInterface.OnClickListener btnListener2=new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
etxt=(EditText)findViewById(R.id.eidt);
txt=(TextView)findViewById(R.id.tv);
txt.setText(etxt.getText().toString());
}};
builder2.setPositiveButton("Kill", btnListener2);
dialog = builder2.create();
}
return dialog;
}
}main.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/tv"
/>
<Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
dialog.xml<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText android:id="@+id/eidt" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
</LinearLayout>
解决方案 »
- android 如何做用已经安装程序打开图片的功能
- 使用Rexsee实现移动应用中缓存加速和预加载、JS注入、页面过渡动画
- Android网络连接,如何选择连接类型?
- 访问sd卡的疑问
- Android 中封装接口的问题
- android中内部类提示类后面"(""]"出现错误,格式错误?
- 40岁的老人学习android开发,用android studio 怎么sdk、avd等管理器启动不了。
- FragmentTabHost如何用圆形的tab
- 现在android 最长用的开发工具是什么?
- AccessibilityService 怎么调试?
- 急!急!!急!!!android edittext 当软键盘开启时,如何监听KeyEvent.KEYCODE_BACK按键?
- android自定义dialog输入值获取
txt=(TextView)findViewById(R.id.tv);
的返回值是否是null
这句话错啦!
修改:
etext=(EditText)layout.findViewById(R.id.eidt);这样应该可以啦!
楼主试试吧!
yes!刚试了下,成功解决 , 我查阅了一天的资料,都没找出个结果, 非常感谢!
txt=(TextView)findViewById(R.id.tv);
改为
etxt=(EditText)inflater.findViewById(R.id.eidt);
同理 txt=(TextView)findViewById(R.id.tv);