0

我只是 android 的初学者,我创建了一个文本框,用户输入一些文本并按下发送按钮,我希望将此文本发送到屏幕,如短信或 whatsapp。我创建了一个文本框和一个按钮,然后将名为 sendAnswer 的 onClick 方法添加到按钮,如下所示:

    public void sendAnswer()
    {
        EditText editText = (EditText)findViewById(R.id.answer);
        String editTextStr = editText.getText().toString();

        Log.d(editTextStr, editTextStr);
     }

其中“answer”是 editText 框的 id。但这不起作用。我怎样才能做到这一点?

另外,我将尝试在下一步中执行以下操作:当用户输入文本并发送时,手机会自动将消息输出到屏幕,就像与手机聊天一样。无论用户发送什么,都将在屏幕右侧看到,而无论电话说什么,都将在屏幕左侧看到。你能给我一些想法如何做这些吗?谢谢

4

4 回答 4

1

如果您已经安装了 android 示例。请看如何使用ListView以及如何动态添加项目。

你需要一个ListView你想做的事。

看一下

android-sdks/samples/android-8/BluetoothChat

它可能会帮助你。

检查此示例 动态管理项目

于 2013-03-07T12:34:24.160 回答
0

这就像一种单向交通。您仅从 EditText 获取文本以在 Screen 上显示文本,您需要具备两件事:-

  1. 有一个视图,即 TextView、EditText 或屏幕中的任何内容以显示 EditText 以外的文本(答案)
  2. 使用 setText() 将该视图设置editTextStr为该视图。

所以你的功能应该是这样的,

 public void sendAnswer()
    {
        EditText editText = (EditText)findViewById(R.id.answer);
        String editTextStr = null;

        if(editText!=null){  //Its good to check the return value of findViewById
           editTextStr = editText.getText().toString();
        }else{
             editTextStr = "Answer EditText doesnot exists";
        }
        TextView textView = (TextView)findViewById(R.id.output); //replace output with the ID of your new output view

        if(textView!=null){
         textView.setText(editTextStr);
        }
        Log.d(editTextStr, editTextStr);
     }
于 2013-03-07T12:26:41.317 回答
0
  String editTextStr;

public void sendAnswer()
    {
        EditText editText = (EditText)findViewById(R.id.answer);
        editTextStr = editText.getText().toString();

        Log.d(editTextStr, editTextStr);
calltextview();
     }

public void calltextview()
{

  TextView textView = (TextView)findViewById(R.id.chat);
  textView.setText(editTextStr);
}

像您想要的设计一样更改布局。试试吧。

于 2013-03-07T12:36:11.270 回答
0

当您要将字符串发送到下一个屏幕时,请使用 Intents

并以我对您的问题的理解观点。

您可以使用 PutExtra(...)

你也必须检查这个,

点击这里

在下一步中,您可以更改第二个活动中字符串的位置以符合您的要求。

这肯定会帮助你...

于 2013-03-07T12:40:17.183 回答