【问题标题】:How to grab text in which a user input in Java Android Development如何在 Java Android 开发中抓取用户输入的文本
【发布时间】:2014-02-04 19:43:31
【问题描述】:

所以我正在使用 Eclipse 制作这个 android 应用程序,并且我创建了一个文本字段,用户可以在其中输入消息并发送它,然后应用程序向用户显示他们输入的文本,我将如何允许他们分享这个信息?这是代码;

MainActivity.java:

package com.example.myfirstapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
/**called when user clicks the send button */
public void sendMessage (View view) {
    //do something
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText editText = (EditText) findViewById(R.id.edit_message);
    String message = editText.getText().toString();
    intent.putExtra(EXTRA_MESSAGE, message);
    startActivity(intent);
}
public void shareMessage (View view){
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
    sendIntent.setType("text/plain");
    startActivity(sendIntent);
}

}

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/edit_message"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="@string/edit_message" />
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage" />
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_share"
    android:onClick="shareMessage" />
 </LinearLayout>

哦,是的,我对这类东西非常缺乏经验,我今天才开始学习它。感谢您的帮助!

【问题讨论】:

标签: android text share


【解决方案1】:

他们输入的消息存储在EditText

要访问文本,您需要像在 SendMessage 方法中所做的那样。您需要通过 id 访问 EditText 元素,然后将其文本作为字符串获取。您的代码将如下所示共享字符串:

public void shareMessage (View view){
    final String message = ((EditText)findViewById(R.id.edit_message)).getText().toString();
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, message);
    sendIntent.setType("text/plain");
    startActivity(sendIntent);
}

【讨论】:

    猜你喜欢
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2011-07-14
    • 2011-09-09
    相关资源
    最近更新 更多