我刚刚开始玩Haskell ...我想写一个相同类型的身份的函数.显然,不等于它.那会是这样的,
myfunction :: a -> a
我无法想出一个示例,其中参数和返回类型是相同的,几乎可以是任何东西(这排除了使用Haskell的类型类的可能性).
我已经阅读了很多关于StopShipAndroid Lint Check和Gradle支持的内容
我想使用SO中的一些已经提到的,而不是TODO或FIXME注释,使用它来确保用于开发/调试/测试的代码块不能达到生产.
为此,我想做两件事: - 启用StopShip检查,因为它默认是禁用 - 将严重性从警告(默认)更改为错误
(假设我们abortOnError true在gradle配置上使用).
我没能做到这一点!无论我尝试什么,如果我// STOPSHIP在代码中添加注释,android构建都不会失败.这很奇怪,因为在textEditor中它突出显示为错误,如果我运行Lint检查(Analyze> Inspect Code ...),它将被列为问题之一.
这就是我在我的尝试中所做的 build.gradle
lintOptions {
checkReleaseBuilds true
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError true
enable 'StopShip'
error 'StopShip'
}
Run Code Online (Sandbox Code Playgroud)
我还尝试在"文件">"设置">"项目设置">"检查"(或Android中的Android Studio>"首选项">"检查")中更改我的Android Studio首选项.在这里,我检查Code contains STOPSHIP marker并将严重性更改为错误,但仍然没有.
这是我的lint.xml样子:
<?xml …Run Code Online (Sandbox Code Playgroud) android gradle android-lint build.gradle android-gradle-plugin
我已经搜索了一段时间,但我认为大多数报告的错误(并且有很多)android.support.design.widget.TextInputLayout与这个略有不同。至少,我已经解决了大多数其他错误,但在这个问题上很挣扎。我目前Fragment在我的活动中有几个TextInputLayout这样的
<android.support.design.widget.TextInputLayout
android:id="@+id/input1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint1"
android:inputType="numberSigned" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input2
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint2"
android:inputType="numberSigned"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint3"
android:inputType="numberSigned">
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
并且,在满足一些外部条件(不重要)之后,我打开并显示隐藏上述片段的另一个片段(100% 屏幕)。如果您想知道这个新片段要求我在特定情况下需要的一些额外字段。这是处理新创建的代码Fragment:
Fragment2 fragment2 = new Fragment2();
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction()
.replace(((ViewGroup) getView().getParent()).getId(), fragment2);
transaction.addToBackStack(Fragment1.class.getSimpleName());
transaction.commit();
Run Code Online (Sandbox Code Playgroud)
但问题是,当返回(按下后退按钮、工具栏/操作栏主页按钮等)到第一个片段时。我所有的人都TextInputLayouts失去了插入他们的文字。这真的很烦人,而且在专门使用 时并没有发生EditText,就像我们之前的 Material Design 过渡一样。
此外,如果不是使用 a 替换片段FragmentTransaction,而是开始一个新的Activity. 不幸的是,这并不是我们真正想要的。我们不应该需要做这种解决方法。
有任何想法吗?有人遇到过这种情况吗?
android android-fragments fragmenttransaction material-design android-textinputlayout
我有这个简单的函数,它返回列表的邻接元素的对列表.
adjacents :: [a] -> [(a,a)]
adjacents (x:y:xs) = [(x,y)] ++ adjacents (y:xs)
adjacents (x:xs) = []
Run Code Online (Sandbox Code Playgroud)
我在尝试编写邻接时遇到问题foldr.我做了一些研究,但似乎没有什么能给我一个暗示.怎么做到呢?
recursion haskell functional-programming fold higher-order-functions
我遇到了一个奇怪的行为android.support.design.widget.FloatingActionButton.我已经google了一下,但没有提到这个组件的这种错误.
这只发生在我StrictMode启用android的情况下.我得到以下异常:
CoordinatorLayout? Default behavior class android.support.design.widget.FloatingActionButton$a could not be instantiated. Did you forget a default constructor?
java.lang.InstantiationException: can't instantiate class android.support.design.widget.FloatingActionButton$a; no empty constructor
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1130)
at android.support.design.widget.CoordinatorLayout.a(CoordinatorLayout.java:503)
at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:579)
at android.view.View.measure(View.java:16831)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:16831)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:16831)
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:868)
at android.view.View.measure(View.java:16831)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:16831)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
at android.view.View.measure(View.java:16831)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) …Run Code Online (Sandbox Code Playgroud)