编程实现具有“登录”按钮的主界面,点击“登录”按钮后打开一个新的Activity,新打开的Activity上面有输入用户名和密码的控件,在用户关闭这个Activity后,将用户名和密码传递到主界面的Activity中。的代码
时间: 2023-06-02 20:07:35 浏览: 67
以下是一个简单的实现方式:
在主界面布局文件中添加一个“登录”按钮:
```xml
<Button
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登录" />
```
在MainActivity.java中实现“登录”按钮的点击事件:
```java
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_LOGIN = 1;
private TextView usernameTextView;
private TextView passwordTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button loginButton = findViewById(R.id.login_button);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, LoginActivity.class);
startActivityForResult(intent, REQUEST_LOGIN);
}
});
usernameTextView = findViewById(R.id.username_text_view);
passwordTextView = findViewById(R.id.password_text_view);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_LOGIN && resultCode == RESULT_OK) {
String username = data.getStringExtra("username");
String password = data.getStringExtra("password");
usernameTextView.setText(username);
passwordTextView.setText(password);
}
}
}
```
在LoginActivity.java中添加两个EditText控件用于输入用户名和密码,并在“登录”按钮被点击时将用户名和密码传递回MainActivity:
```java
public class LoginActivity extends AppCompatActivity {
private EditText usernameEditText;
private EditText passwordEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
usernameEditText = findViewById(R.id.username_edit_text);
passwordEditText = findViewById(R.id.password_edit_text);
Button loginButton = findViewById(R.id.login_button);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username = usernameEditText.getText().toString();
String password = passwordEditText.getText().toString();
Intent resultIntent = new Intent();
resultIntent.putExtra("username", username);
resultIntent.putExtra("password", password);
setResult(RESULT_OK, resultIntent);
finish();
}
});
}
}
```
注意:需要在AndroidManifest.xml中添加LoginActivity的声明:
```xml
<activity android:name=".LoginActivity" />
```