检索EditText多行文本,因为它是android?

时间:2010-11-25 14:38:51

标签: android

我想从“编辑”文本中获取文本,并在TextView中显示。但是当我使用getText()获取文本时,它会在一行中显示文本。如何在多行EditText中输入文本。请给我指导?

1 个答案:

答案 0 :(得分:1)

Rajendar,

我不明白你为什么遇到这个问题。当您从EditText中获取一段文本时,它应该保持“格式化”,例如换行符。

例如,尝试这段代码(我自己测试过)!

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"
    >

 <EditText
    android:id="@+id/et"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    />

<TextView
    android:id="@+id/tv"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />

 <Button 
    android:id="@+id/m_button"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:text="Button"
    />
</LinearLayout>

main.java

public class MainTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button) findViewById(R.id.m_button);
        button.setOnClickListener(btnListener);
    }


    //button listener
    private OnClickListener btnListener = new OnClickListener() {

     public void onClick (View view) {

      EditText et = (EditText) findViewById(R.id.et);
      String str = et.getText().toString();

      Toast.makeText(getBaseContext(), str, Toast.LENGTH_LONG).show();

      TextView tv = (TextView) findViewById(R.id.tv);

      tv.setText(str);
     }
    }; 
} 

Toast和TextView都会保留换行符。你可以自己试试。

也许如果您发布代码(至少相关位),我们可以帮助您。