gpt4 book ai didi

java - 如何在另一个 Activity 上调用 onclick?

转载 作者:行者123 更新时间:2023-11-29 21:02:38 28 4
gpt4 key购买 nike

我刚开始在 android 中开发并坚持这个想法

我创建了两个 Activity ,一个是 HomeActivity,另一个是 LoginActivity。我想在 HomeActivity 中放置最少的代码,而我想在另一个 Activity 中放置所有其他操作。

我的用例是我在 HomeActivity 上放置了一个 onclick 事件,并且在 LoginActivity 中编写了 onclick 方法实现。但是我无法调用 LoginActivity onclick 方法实现。此外,HomeActivity 和 LoginActivity 都具有相同的布局 (activity_main.xml)

文件如下:

HomeActivity.java

public class HomeActivity extends Activity {

private static String TAG = HomeActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}

登录 Activity .java

 public class LoginActivity extends Activity {
private static String TAG = LoginActivity.class.getSimpleName();

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

public void onLogin(View view){
// some actions
TextView loginText = (TextView)findViewById(R.id.login);
}

}

activity_home.xml

  <TextView
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/login_bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick = "onLogin"
/>

HomeActivity 和 LoginActivity 都使用相同的布局 activity_home。在android中这样做是否正确并且可能?其次,如果可以的话,如何在 LoginActivity 上调用 onLogin,以便我可以将文本设置到 TextView。

最佳答案

创建一个扩展 Activity 的自定义类 CustomActivity

private class CustomActivity extends Activity
{
public void onLogin(View view)
{
TextView loginText = (TextView) findViewById(R.id.login);
}
}

然后使用 CustomActivity 扩展 LoginActivityHomeActivity。这样,onLogin 方法将对 LoginActivityHomeActivity 都可用,如果您需要更改在 onLogin 中执行的操作> 您可以在任何子类中覆盖它。

如果您按原样使用上述方法,请确保 LoginActivityHomeActivity 的布局都有一个 TextView id 登录

关于java - 如何在另一个 Activity 上调用 onclick?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550416/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com