我刚刚开始在android中进行开发,并被这个想法所困扰
我创建了两个活动,一个是HomeActivity,另一个是LoginActivity。我想在HomeActivity中放最少的代码,并在其他活动中放所有其他操作。
我的用例是我在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);
}
}
LoginActivity.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。
创建一个CustomActivity
扩展的自定义类Activity
private class CustomActivity extends Activity
{
public void onLogin(View view)
{
TextView loginText = (TextView) findViewById(R.id.login);
}
}
然后延伸LoginActivity
和HomeActivity
用CustomActivity
。这种onLogin
方法将对两种方法都可用LoginActivity
,HomeActivity
并且如果您需要更改所做的操作,则onLogin
可以在任何子类中覆盖它。
如果您在使用上述方法,是确保两台的布局LoginActivity
,并HomeActivity
有一个TextView
ID为login
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句