Android开发 - 输入法

时间:2012-02-28 16:15:21

标签: android text methods input

我刚刚启动并运行AVD,我得到了一个“HelloWorld”。 现在我认为下一个合乎逻辑的步骤是让I / O变得更加熟悉,所以,我想创建并输入框并在人完成输入时有一个按钮(或某种触发器),然后读入它,并根据输入输出响应。

我尝试使用Android开发者资源,它说要创建和输入方法,我需要编辑AndroidManifest.xml并将服务添加到其中。所以,我的xml现在看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hunter.nance.escapetheroom"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="15" />

<application



    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".AndroidEscapeTheRoomActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service android:name="FastInputIME"
        android:label="@string/fast_input_label"
        android:permission="android.permission.BIND_INPUT_METHOD">
        <intent-filter>
            <action android:name="android.view.InputMethod" />
        </intent-filter>
        <meta-data android:name="android.view.im" android:resource="@xml/method" />
    </service>

</application>

但是,我的Eclipse文件说错误:

[2012-02-27 11:44:41 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Unable to read C:\Documents and Settings\java\workspace\AndroidEscapeTheRoom\AndroidManifest.xml: org.eclipse.core.internal.resources.ResourceException: Resource is out of sync with the file system: '/AndroidEscapeTheRoom/AndroidManifest.xml'.
[2012-02-27 11:44:41 - AndroidEscapeTheRoom] AndroidManifest.xml does not declare a Java package: Build aborted.

更不用说,即使在XML工作之后,我也不确定如何在我的实际Java代码中使用它。对于这个或任何建议有什么好的教程吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您不需要任何权限来放置textInput并操纵它的数据。打开layouts文件夹,然后打开Main xml文件并转到设计视图。然后,您可以拖放文本输入。关于Java代码,你去你的src文件夹,然后在你的包中你会找到一个java文件。要获得对文本输入的引用,您需要这样的内容。

EditText et = (EditText) findViewById(R.id.mytextinput); //considering your input id is mytextinput.

然后您可以使用两种方法获取并设置文本:

String myText = et.getText().toString();
et.setText("my new text for input box");

试着看一下:http://www.youtube.com/watch?v=0sS-ylTxi40

更新:

TextView tv = (TextView) findViewById(R.id.textView1);
Button b = (Button) findViewById(R.id.button1);

b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) 
{
  tv.setText(et.getText().toString());
}
});

此代码将完全符合您的要求。只是不要忘记将控件与xml中的相同id-s放在一起:)