小编lud*_*riv的帖子

AndroidAnnotations的继承活动

使用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-activity android-annotations

6
推荐指数
1
解决办法
3397
查看次数

在片段之间滑动左/右动画

我在这里发帖提问,因为我无法找到问题的解决方案.我读了很多关于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

你有什么想法解决这个问题吗?

animation android android-fragments

6
推荐指数
1
解决办法
3万
查看次数

iOS VIPER:在哪里放置表单验证码?

我阅读了许多关于干净的iOS架构VIPER的文章,我理解主要的主题:关注点的分离.

我目前用它来做我的项目.我有模块,每个模块由视图,交互者,演示者,实体和路由器(与故事板)分开.

我有一个模块:地址和子模块添加添加地址页面.

所以,我的UIViewController实现了我的协议View.视图控制器保存所有弱IBOutlet标签和文本字段(用于新地址表单).

地址表单包含以下几个字段:

  • 人的名字和姓氏
  • 邮编
  • 国家
  • 电话
  • 电子邮件
  • 等等...

在我的例子中,演示者只是将用户交互依赖于执行API调用的交互器.

但是,在执行API调用之前,我想预先验证表单以避免消耗无用的网络资源.

我需要检查一下例如:

  • 国家的内容,并告诉视图如果空的话需要字段...
  • 电子邮件的格式并告诉视图该字段无效...

我的问题是,我在哪里可以提交表单验证码?

应该填写哪个VIPER组件?

先感谢您!

architecture ios viper-architecture

5
推荐指数
2
解决办法
2004
查看次数