如何设置TextView的文本?

Ars*_*Ali 6 android textview

我面临着TextView在android 中设置文本的问题,我的代码是:

public class Main extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button) findViewById(R.id.button1);
        final TextView text = (TextView) findViewById(R.id.textView1);
        final EditText input = (EditText) findViewById(R.id.editText1);
        final String string = input.getText();
        button.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                text.setText(string);                   
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我写

    final Editable string = input.getText();
Run Code Online (Sandbox Code Playgroud)

然后它工作..... !!!!

现在我想发送EditText到下一个的数据,Activity如下所示:

public class Main extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button) findViewById(R.id.button1);
        final TextView text = (TextView) findViewById(R.id.textView1);
        final EditText input = (EditText) findViewById(R.id.editText1);
        final Editable string = input.getText();
        button.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                Intent intent = new Intent(Main.this, Second.class);
                intent.putExtra("thetext", string);
                startActivity(intent);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

Second.java课堂上我这样得到StringExtra:

public class Second extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);

        TextView text = (TextView) findViewById(R.id.textView2);
        String string = getIntent().getExtras().getString("thetext", "not found");
        text.setText(string); /// Here the text is not shown but the default message "not found" is set to `TextView`
    }
}
Run Code Online (Sandbox Code Playgroud)

请指导我继续开发.

sky*_*all 5

问题应该是,你要发送Editable,而不是String.试试这个:

final String string = input.getText().toString();
Run Code Online (Sandbox Code Playgroud)


Bra*_*den 3

我认为问题是你实际上在意图中放置了“可编辑”,而不是字符串。虽然很接近,但它们不是同一件事。如果您使用 toString() 您的可编辑来获取 String 对象并将其放入意图中,您应该能够像您所做的那样使用 getString 将其取回。