使用AndroidAnnotations构建活动时遇到一些麻烦.我有一个名为TemplateActivity的父Activity:
@EActivity(R.layout.activity_template)
@NoTitle
public class TemplateActivity extends Activity
{
// some views
// ...
@ViewById(R.id.main_framelayout)
FrameLayout mainFrameLayout;
@AfterViews
public void postInit()
{
Log.d("DEBUG", "postInit"); // never called, strange...
}
public void setMainView(int layoutResID)
{
mainFrameLayout.addView(LayoutInflater.from(this).inflate(layoutResID, null));
}
}
Run Code Online (Sandbox Code Playgroud)
在我的第二个Activity中,我想用anoter layout xml填充mainFrameLayout,如下所示:
@EActivity
public class ChildActivity extends TemplateActivity
{
@Override
public void postInit()
{
super.postInit();
setMainView(R.layout.activity_child_one);
}
}
Run Code Online (Sandbox Code Playgroud)
当我想要startActivity时,我的ChildActivity是空白的,并且从未调用过postInit.谁能告诉我有什么问题?谢谢你提前.
我在这里发帖提问,因为我无法找到问题的解决方案.我读了很多关于android动画的东西.
我实际上开发了一个Android 4.0应用程序,我需要动画片段之间的过渡动画(不是布局).
这是我的不完整代码:
活动代码
private void showFragment(final Fragment fragment)
{
if (null == fragment)
return;
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.fragment_container_layout, fragment, fragment.getClass().getSimpleName()).commit();
}
Run Code Online (Sandbox Code Playgroud)
R.anim.slide_in_left
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime">
<translate
android:fromXDelta="100%p"
android:toXDelta="0" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
Run Code Online (Sandbox Code Playgroud)
最后是R.anim.slide_out_right
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime" >
<translate
android:fromXDelta="0"
android:toXDelta="-100%p" />
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到一个例外: 12-27 15:26:55.566:E/AndroidRuntime(27699):java.lang.RuntimeException:未知的动画名称:translate
你有什么想法解决这个问题吗?
我阅读了许多关于干净的iOS架构VIPER的文章,我理解主要的主题:关注点的分离.
我目前用它来做我的项目.我有模块,每个模块由视图,交互者,演示者,实体和路由器(与故事板)分开.
我有一个模块:地址和子模块添加添加地址页面.
所以,我的UIViewController实现了我的协议View.视图控制器保存所有弱IBOutlet标签和文本字段(用于新地址表单).
地址表单包含以下几个字段:
在我的例子中,演示者只是将用户交互依赖于执行API调用的交互器.
但是,在执行API调用之前,我想预先验证表单以避免消耗无用的网络资源.
我需要检查一下例如:
我的问题是,我在哪里可以提交表单验证码?
应该填写哪个VIPER组件?
先感谢您!