0

sqlite データベースで文字列を操作しようとしています。Multiline EditText を sqlite VARCHAR 列に保存する予定です 誰もそれを行う方法を知っていますか?

EditText.getText().toString() を使用するたびに、1行しか取得できません

例えば、

            <EditText
            android:id="@+id/edittext"
            android:layout_width="267dp"
            android:layout_height="73dp"
            android:inputType="textCapSentences|textMultiLine" 
            android:singleLine="false" >

入った時

abc
123
iiiiii

edittext.getText().toString() は "abc" のみを返します !!!!

すべてのテキストを sqlite VARCHAR 列に保存するにはどうすればよいですか?

4

2 に答える 2

2

何が起こっているかを確認するために、コードをさらに投稿する必要があります。このミニマルなアプリを見てみましょう:

public class Example extends Activity implements OnClickListener {
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void onClick(View view) {
        //      Find the TextView,      set it's text from       the EditText
        ((TextView) findViewById(R.id.text)).setText(((EditText) findViewById(R.id.edit)).getText());
    }   
}

このxmlとペア:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="onClick" />

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

</LinearLayout>

ボタンをクリックするだけで、この必要最小限のアプリは、複数行の EditText を読み取り、その内容を別のオブジェクトに渡すという要件を満たします。この場合、文字列を TextView に渡します。データベースのコードは基本的に同じです。「不明な単語」の強調表示の色もコピーします。

スクリーンショット

(色の強調表示をデータベースに簡単にコピーして元に戻すとは思わないでください。)これが、このプロセスで何かを変更していて、エラーが表示されないため、コードの実際の選択を求める理由です。ここから。

質問の編集機能を使用して、EditText を読み取り、その内容をデータベースに保存し、後で取得する適切な関数を投稿してください。

于 2012-05-13T03:52:20.567 に答える
0
edittext = (EditText) findViewById(R.id.multitext); 
str=edittext.getText().toString()                           
DBHelper req_task = new DBHelper(Send_req.this);
req_task.createDataBase();
req_task.openDataBase();
req_task.writetext(str);
于 2012-05-13T14:01:51.663 に答える