Android 尝试使用Adndoid SDK 2.3.3创建登录屏幕

Android 尝试使用Adndoid SDK 2.3.3创建登录屏幕,android,Android,我对androidsdk完全陌生,对编写一般代码也非常陌生。我一直在玩弄这个软件,并遵循一个关于如何登录我的应用程序的教程,但我似乎无法让它工作。下面是我的.Java代码。我可以看出错误在第32-42行,我不知道为什么我没有检测到.settext或.SetOnClickListner。任何帮助都会很好 package com.example.inventory; import android.content.Intent; import android.support.v7.app.AppCo

我对androidsdk完全陌生,对编写一般代码也非常陌生。我一直在玩弄这个软件,并遵循一个关于如何登录我的应用程序的教程,但我似乎无法让它工作。下面是我的.Java代码。我可以看出错误在第32-42行,我不知道为什么我没有检测到.settext或.SetOnClickListner。任何帮助都会很好

package com.example.inventory;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import org.w3c.dom.Text;

public class MainActivity extends AppCompatActivity {

private EditText User;
private EditText Password;
private TextView Info;
private Button Login;
private int counter = 5;

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

    User = (EditText) findViewById(R.id.etName);
    Password = (EditText) findViewById(R.id.etPassword);
    Info = (TextView) findViewById(R.id.tvInfo);
    Login = (Button) findViewById(R.id.btnLogin);
}

Info.setText("No of attemps remaining: 5");

Login.SetOnClickListener(new View.OnClickListener()

{
    @Override
    public void onClick (View view){
    validate(Name.getText().toString(), Password.getText().toString());
}
};
}

}

您的.setText()代码在onCreate方法之外。没有调用.setText()方法的进程。只需将代码移到上面的括号内即可。你的onclick听众也是如此。在OnClickListener的结尾处,您还缺少一个括号

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

    User = (EditText) findViewById(R.id.etName);
    Password = (EditText) findViewById(R.id.etPassword);
    Info = (TextView) findViewById(R.id.tvInfo);
    Login = (Button) findViewById(R.id.btnLogin);

    Info.setText("No of attemps remaining: 5");

    Login.SetOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick (View view){
        validate(Name.getText().toString(), Password.getText().toString());
        }
    });
}

此外,如果您将视图的名称添加到java代码中的变量中以便于参考,那么在应用程序的开发过程中,您会发现这会更加方便。(即UserInputItemText或userEt等…)。对于xml引用ID,下划线是常见的做法,而不是驼峰式大小写(即et_input_name或et_name)。祝你好运和快乐!如果这对你有帮助,请记住接受我的回答!;)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    User = (EditText) findViewById(R.id.etName);
    Password = (EditText) findViewById(R.id.etPassword);
    Info = (TextView) findViewById(R.id.tvInfo);
    Login = (Button) findViewById(R.id.btnLogin);

    Info.setText("No of attemps remaining: 5");

    Login.SetOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick (View view){
        validate(Name.getText().toString(), Password.getText().toString());
        }
    });
}