Android在对话框中获取EditText元素的文本

时间:2013-12-23 19:07:43

标签: android android-edittext

我正在尝试编写数据,用户使用json将我的评论对话框放入数据库。 一切都有效,除了得到两个字段的文本..如果我硬编码2字符串一切都很好,写得应该。

这是我的代码

private void writeReview() {
    EditText ETUsername = (EditText) findViewById(R.id.username);
    String username = ETUsername.getText().toString();

    EditText ETMessage = (EditText) findViewById(R.id.dialog_review);
    String message = ETMessage.getText().toString();

    Review review = new Review(username, message, retailerId.toString(),
            "8Hr------U");
    JsonHelper jsonHelper = new JsonHelper();

    HttpWriter httpWriter = new HttpWriter();
    httpWriter.setJsonObject(jsonHelper.getJsonReview(review));
    httpWriter

对话框--------------------------------

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <EditText
        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginBottom="4dp"
        android:hint="@string/dialog_username" />
    <EditText
        android:id="@+id/dialog_review"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginBottom="16dp"
        android:fontFamily="sans-serif"
        android:hint="@string/dialog_review" />
<!--     <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="300dp"
        android:layout_height="wrap_content"/> -->
</LinearLayout>

可能是因为两个字段都进入了一个对话框而且活动无法像我尝试那样进入它?

如果你能帮助我 - 非常感谢和节日快乐。

1 个答案:

答案 0 :(得分:0)

声明EditText变量(ETusername和ETmessage)类变量并将其膨胀为onCreate()活动方法。

使用对话框视图查找编辑文本 EditText ETUsername =(EditText)dialog.findViewById(R.id.username);