Android EditText字段未显示的问题

Android EditText字段未显示的问题,android,android-edittext,Android,Android Edittext,我对Android编程非常陌生,如果这是一个简单的问题,那么很抱歉 我正在尝试创建一个表单来输入用户数据,但一直出现以下错误: 窗口已聚焦,忽略焦点增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@6279d588" 这就是我的xml在布局中的外观: <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:orie

我对Android编程非常陌生,如果这是一个简单的问题,那么很抱歉

我正在尝试创建一个表单来输入用户数据,但一直出现以下错误:

窗口已聚焦,忽略焦点增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@6279d588"

这就是我的xml在布局中的外观:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:isScrollContainer="true"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">"
    <LinearLayout
        android:orientation="vertical"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_gravity="top">
        <TextView
            android:id="@+id/text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="This is a test\nsecond line\n"/>
       <EditText android:id="@+id/name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:maxLength="30"
            android:maxLines="1"
            android:hint="@string/compose_name"></EditText>                  
       <Button
            android:id="@+id/new_contact_button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/submit" />

    </LinearLayout>
</ScrollView>
如果我去掉EditText字段,那么它就可以正常工作。而且它只运行了一次,但我无法重复(我在此期间所做的只是删除另一个未使用的布局)

谢谢你的帮助

final EditText nameField = (EditText) findViewById(R.id.name);
不要将nameField声明为“final”-看看是否有效

编辑:啊,好吧,对不起,我没想清楚。让您的活动实现侦听器,而不是内联创建侦听器,并将nameField作为实例成员

public class MyActivity extends Activity
    implements View.onKeyListener {

    EditText nameField = null; // <-- Instance member

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.new_contact);

        nameField = (EditText) findViewById(R.id.name);
        nameField.setOnKeyListener(this);
    }

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
            (keyCode == KeyEvent.KEYCODE_ENTER)) {
                String strNicknameToSave = nameField.getText().toString();
                // TODO: Save Nickname setting (strNicknameToSave)
                return true;
        }
        return false;
    }
}
公共类MyActivity扩展活动
实现View.onKeyListener{

EditText nameField=null;//您能编辑吗?我们根本看不到XML布局。如果您的XML是这样的,我们可能已经发现了问题;)无法查看您的XML。若要放置代码,请在行的开头留出4个空格,而不是使用“>”。感谢您提供关于如何显示xml的建议。这适用于任何代码,顺便说一句——Java、C等。可能除了空格。布局的其余部分是否显示出来,或者是否出现黑屏?您是否尝试过在不添加
KeyListener
的情况下运行,或者添加一个带有空
onKey
而不是闭包的代码?然后我得到了一个编译错误或者:“局部变量nameField是从内部类访问的;需要声明为final”@TechnoTony:对不起,请参阅我在回答中的编辑。我个人试图避免创建内联侦听器,如果做得不好,它们会导致问题。只需在您的活动中实现侦听器。@TechnoTony:很高兴听到。祝您好运。
public class MyActivity extends Activity
    implements View.onKeyListener {

    EditText nameField = null; // <-- Instance member

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.new_contact);

        nameField = (EditText) findViewById(R.id.name);
        nameField.setOnKeyListener(this);
    }

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
            (keyCode == KeyEvent.KEYCODE_ENTER)) {
                String strNicknameToSave = nameField.getText().toString();
                // TODO: Save Nickname setting (strNicknameToSave)
                return true;
        }
        return false;
    }
}