0

私のアラートダイアログでは、ユーザーは編集テキストにコメントを入力します。Editext を編集可能なものに変換してから編集可能なものを保存すると、機能します。ただし、それを他の値と連結して文字列にしようとすると、編集可能なものが保存されません。文字列と連結するときに .toByte を使用すると、バイトが保存されました。コードが機能していない場所に//を配置しました。これが私のコードです。

    LayoutInflater inflater = LayoutInflater.from(this);
        final EditText input = new EditText(this);
        new AlertDialog.Builder(this)
        .setTitle("Comments")
        .setMessage("Enter Comments below")
        .setView(input)
        .setPositiveButton("Enter",  new DialogInterface.OnClickListener() {
            Editable value = input.getText();
            String string= value.toString()+ " "+ parent[groupPosition] + " "

// value.toString() を文字列に結合しません。+ kids[groupPosition][childPosition];

            @Override
            public void onClick(DialogInterface dialog, int which) {
                try {

                    FileOutputStream fos = openFileOutput("repairs",
                            Context.MODE_PRIVATE);

                    fos.write(string.toString().getBytes());

                    fos.close();

                } catch (Exception e) {

                    e.printStackTrace();

                } 
4

1 に答える 1

1

置いてみましたか

Editable value = input.getText();
String string= value.toString()+ " "+ parent[groupPosition] + " ";

あなたのtryブロックの中に?現在書かれているように、valueフィールドは OnClickListener が初期化されたときに取得され、最新のユーザー入力を反映しません。

于 2012-01-31T16:12:05.520 に答える