EditText字段正在崩溃我的Android应用程序

时间:2011-09-23 13:52:03

标签: android

大家好我已更新我的帖子以显示完整的xml文件,这将显示我是否做错了什么。

我实现了一个带有编辑文本字段的自定义对话框,它会一直崩溃。我会  也喜欢访问文本字段中填写的值。知道我哪里错了吗?感谢。

下面是冒犯/麻烦???代码

首先,我展示了包含警报对话框布局的xml文件。

   <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content" android:layout_height="wrap_content">

  <ImageView android:id="@+id/ImageView01"
  android:layout_width="wrap_content" android:layout_height="wrap_content"
   android:layout_centerHorizontal="true" />

 <ScrollView android:id="@+id/ScrollView01"
   android:layout_width="wrap_content" android:layout_below="@+id/ImageView01"
    android:layout_height="200px">

   <TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
   android:layout_width="wrap_content" android:layout_height="wrap_content" />

   <EditText 
   android:id="@+id/lastname"
    android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:hint="blah"
    />
   </ScrollView>

 <Button android:id="@+id/Button01" 
 android:layout_below="@id/ScrollView01"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
  android:layout_centerHorizontal="true"
   android:text="Cancel" /> 
  </RelativeLayout>

然后实现的主要活动文件  我的按钮点击事件......等。           .......

    setContentView(R.layout.main);
    //this button will show the dialog
    Button button1main = (Button) findViewById(R.id.Button01main);

    button1main.setOnClickListener(new View.OnClickListener() {

        public void onClick(View OnClickListener) {
            //set up dialog
            final Dialog dialog = new Dialog(MoredialogActivity.this);
            dialog.setContentView(R.layout.maindialog);
            dialog.setTitle("This is my custom dialog box");
            dialog.setCancelable(true);



            TextView text = (TextView) dialog.findViewById(R.id.TextView01);
            text.setText(R.string.lots_of_text);

            //set up image view
            ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);
            img.setImageResource(R.drawable.icon);

            //set up button
            Button button = (Button) dialog.findViewById(R.id.Button01);
            button.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {
                    dialog.dismiss();
                    //finish();
                }
            });

            dialog.show();
        }
    });
}

}

1 个答案:

答案 0 :(得分:0)

ScrollView中有两个项目。根据文件:

  

ScrollView是一个FrameLayout,意味着你应该放置一个孩子   它包含滚动的全部内容;这个孩子本身可能是   具有复杂对象层次结构的布局管理器。

所以你应该有另一种布局,比如线性布局:

<ScrollView
   android:id="@+id/ScrollView01"
   android:layout_width="wrap_content"
   android:layout_below="@+id/ImageView01"
   android:layout_height="200px">
   <LinearLayout
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:orientation="vertical"
      android:gravity="center">
      <TextView
         android:text="@+id/TextView01"
         android:id="@+id/TextView01"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
      <EditText 
         android:id="@+id/lastname"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:hint="blah" />
   </LinearLayout>
</ScrollView>