Android键盘输入

时间:2016-05-17 14:07:34

标签: android

我开始编写应用程序,在启动时总是有一个文本输入,底部有一个闪烁的光标。我没有在xml文件中定义EditText,也不需要任何文本输入。 我不知道为什么它显示那部分。任何人都可以帮助我摆脱它吗?

编辑: 我添加了清单文件。

这是当前的* .xml文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="vertical"
    tools:context="de.test.ble_benchmark.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/nodevice"
        android:id="@+id/device"
        android:textSize="20sp"
        android:textStyle="bold"
        android:layout_gravity="center_horizontal"
        android:layout_marginLeft="190dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:indeterminate="true"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="336dp"
            android:layout_alignTop="@+id/console"
            android:layout_centerHorizontal="true" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/console"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="0dp"
        android:layout_alignParentTop="true"
        android:layout_marginTop="144dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/scan"
        android:id="@+id/scan"
        android:textSize="25sp"
        android:textStyle="bold"
        android:onClick="onClick"
        android:layout_gravity="center"
        android:layout_marginLeft="134dp"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.tuhh.et5.tills.ble_benchmark">

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>



    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        >
        <activity android:windowSoftInputMode="stateHidden" android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service android:name=".BlunoService"/> >

    </application>

</manifest>

编辑:

好的,似乎还有更多。我不确定,但似乎相关.. 我尝试更改这些TextView的可见性并获取nullpointer异常。有些东西搞砸了......

我无法弄清楚。以下是生成异常的方法:

public void updateUi(){

        Button scan = (Button)findViewById(R.id.scan);
        ProgressBar search = (ProgressBar)findViewById(R.id.progressBar);
        TextView output = (TextView)findViewById(R.id.output);
        TextView deviceName = (TextView)findViewById(R.id.device);



        switch (layoutState){
            case 0:
                // close
                super.onBackPressed();
                cleanup_bluno();
                d("State 0");
                break;
            case 1:
                // Start
                d("State 1");
                search.setVisibility(View.GONE);
                deviceName.setVisibility(View.GONE);
                scan.setVisibility(View.VISIBLE);
                output.setVisibility(View.VISIBLE);
                break;
            case 2:
                // Searching
                d("State 2");
                search.setVisibility(View.VISIBLE);
                deviceName.setVisibility(View.GONE);
                scan.setVisibility(View.GONE);
                output.setVisibility(View.GONE);
                break;
            case 3:
                // Device Found
                d("State 3");
                search.setVisibility(View.GONE);
                deviceName.setVisibility(View.VISIBLE);
                scan.setVisibility(View.GONE);
                output.setVisibility(View.VISIBLE);
                break;
            default:
                break;
        }
    }

它开始进入状态1并在设置可见性时崩溃。

2 个答案:

答案 0 :(得分:0)

在您的活动onCreate()方法中添加以下代码行。我认为以下可能有效

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

答案 1 :(得分:0)

好的,我有点尴尬......有人告诉我要运行“无效的缓存/重启”。现在问题消失了......

很抱歉打扰并感谢您对此进行调查: - )