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

标签 java android

我刚开始在 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/

相关文章:

android - 运行此代码时出现 NullPointerException

android - Recyclerview 滚动上的重复项

java - 从 Java 到 Kotlin

java - 避免在 If 条件中使用文字

java - 如何在每个 int 和非 int 值之间添加空格?

java - 如何编写一个程序来提出多项选择问题,然后对每个答案执行输入操作?

java - Android Studio 中的图像资源变得奇怪

android - WebGl 支持 android 和 iphone webviews

android - ListFragment的onCreateView(),如何强制调用?

Java泛型多类型边界删除,我们应该将哪些类/接口(interface)放在边界列表的开头