本文的目的是介绍NEERC1999Divisibility///同余DPoj22640的详细情况,我们将通过专业的研究、有关数据的分析等多种方式,同时也不会遗漏关于android–setVisibil
本文的目的是介绍NEERC 1999 Divisibility /// 同余DP oj22640的详细情况,我们将通过专业的研究、有关数据的分析等多种方式,同时也不会遗漏关于android – setVisibility()什么时候不在视图中触发onVisibilityChanged()?、Android 中 visibility 属性 VISIBLE、INVISIBLE、GONE 的区别、android.support.v4.view.accessibility.AccessibilityManagerCompatIcs.AccessibilityStateChangeListenerBridge的实例源码、android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener的实例源码的知识。
本文目录一览:- NEERC 1999 Divisibility /// 同余DP oj22640
- android – setVisibility()什么时候不在视图中触发onVisibilityChanged()?
- Android 中 visibility 属性 VISIBLE、INVISIBLE、GONE 的区别
- android.support.v4.view.accessibility.AccessibilityManagerCompatIcs.AccessibilityStateChangeListenerBridge的实例源码
- android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener的实例源码
NEERC 1999 Divisibility /// 同余DP oj22640
题目大意:
输入n,m; ( 1 ≤ N ≤ 10000,2 ≤ M ≤ 100 )
接下来n个数;Each integer is not greater than 10000 by it‘s absolute value.
判断他们按顺序做加减法后能否整除m
若能输出“Divisible”,否则输出“Not divisible”;
Sample #1
4 7
17 5 -21 15
Sample #2
4 5
17 5 -21 15
Sample #1
Divisible
Sample #2
Not divisible
对于第一个样例解释:
17 + 5 + -21 + 15 = 16
17 + 5 + -21 - 15 = -14
17 + 5 - -21 + 15 = 58
17 + 5 - -21 - 15 = 28
17 - 5 + -21 + 15 = 6
17 - 5 + -21 - 15 = -24
17 - 5 - -21 + 15 = 48
17 - 5 - -21 - 15 = 18
-14可整除7
#include <bits/stdc++.h> using namespace std; bool dp[10005][105]; /// dp[i][j]表示第i个数时余数为j的状态存不存在 1为存在 0则不存在 int main() { int n,m,a; while(~scanf("%d%d%d",&n,&m,&a)) { memset(dp,0,sizeof(dp)); dp[1][(a%m+m)%m]=1; // 到第1个数时 a%m 存在 for(int i=2;i<=n;i++) { scanf("%d",&a); a=fabs(a); a%=m; /// 防止出现负数 先取绝对值 对求余没影响 for(int j=0;j<m;j++) if(dp[i-1][j]) // 若上一个数时 余j 的状态存在 dp[i][(j+a)%m]=dp[i][(j-a+m)%m]=1; /// 则可由 上个数余j的状态 推出 /// 到当前数时(+a或-a) 余(j+a)%m 和 余(j-a+m)%m /// 两个状态可存在 } if(dp[n][0]) printf("Divisible\n"); else printf("Not divisible\n"); } return 0; }
android – setVisibility()什么时候不在视图中触发onVisibilityChanged()?
以下是我知道可见性更改的方法,但未调用onVisibilityChanged.
@Override protected void onVisibilityChanged(@NonNull View changedView,int visibility) { Log.i(LOG_TAG,"onVisibilityChanged: " + visibility); super.onVisibilityChanged(changedView,visibility); } @Override public void setVisibility(int visibility) { super.setVisibility(visibility); Log.i(LOG_TAG,"setVisibility: " + visibility); } public void hide(){ Log.i(LOG_TAG,"before hide visibility: " + getVisibility()); setVisibility(GONE); Log.i(LOG_TAG,"after hide visibility: " + getVisibility()); }
通常当我调用hide()时,我会在日志中看到这些行:
before hide visibility: 0
onVisibilityChanged: 8
setVisibility: 8
after hide visibility: 8
但是在一个特殊的情况下,当我调用hide()时,我在日志中得到这些行,之后视图不会被隐藏,尽管getVisibility()返回8:
before hide visibility: 0
setVisibility: 8
after hide visibility: 8
那么一般情况下会发生这种情况吗?什么时候setVisibility不调用onVisibilityChanged?
不要问我的具体情况是什么.但请提供可能发生这种情况的一般情况.
解决方法
对setVisibility的调用如下所示:
public void setVisibility(@Visibility int visibility) { setFlags(visibility,VISIBILITY_MASK); }
setFlags方法是一个很长的方法,其中一组不同的视图属性被更改和处理,但值得注意的部分是:
if ((changed & VISIBILITY_MASK) != 0) { // if visiblity changed... ... if (mAttachInfo != null) { // true if attached in view hierarchy dispatchVisibilityChanged(this,newVisibility); // onVisibilityChanged is called from here ...
因此,您将在未附加到片段或活动的视图上看到您描述的行为.
Android 中 visibility 属性 VISIBLE、INVISIBLE、GONE 的区别
在 Android 开发中,大部分控件都有 visibility 这个属性,其属性有 3 个分别为 “visible”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。有些人可能会疑惑 Invisible 和 gone 是有什么区别的???那么,我们带着这个疑问看下面:
其在 XML 文件和 Java 代码中设置如下:
可见(visible)
XML 文件:android:visibility="visible"
Java 代码:view.setVisibility (View.VISIBLE);
不可见(invisible)
XML 文件:android:visibility="invisible"
Java 代码:view.setVisibility (View.INVISIBLE);
隐藏(GONE)
XML 文件:android:visibility="gone"
Java 代码:view.setVisibility (View.GONE);
为了区别三者,我建了一个 Dome 进行演示,先上 Dome 的代码,演示后就知道它们的区别:
XML 文件:
[html] view plaincopy
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="20dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#F00"
android:text="TextView1"
android:textSize="23sp"
android:visibility="visible" />
<TextView
android:id="@+id/mainTV2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00F"
android:text="TextView2"
android:textSize="23sp"
android:visibility="visible" />
</LinearLayout>
<Button
android:id="@+id/mainBtn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView2 为 VISIBLE"
android:onClick="mianOnClickListener"/>
<Button
android:id="@+id/mainBtn2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView2 为 INVISIBLE"
android:onClick="mianOnClickListener"/>
<Button
android:id="@+id/mainBtn3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView2 为 GONE"
android:onClick="mianOnClickListener"/>
</LinearLayout>
后面三个 Button 只要是控制 TextView 的 visibility 的属性
Java 代码:
[java] view plaincopy
package com.chindroid.visibility;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
/** TextView2 */
private TextView mainTV2 = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化数据
initData();
}
/** 初始化控件的方法 */
private void initData() {
mainTV2 = (TextView)findViewById(R.id.mainTV2);
}
/**
* MainActivity 中响应按钮点击事件的方法
*
* @param v
*/
public void mianOnClickListener(View v){
switch (v.getId()){
case R.id.mainBtn1:{ // 按钮 1 的响应事件
// 设置 TextView2 可见
mainTV2.setVisibility(View.VISIBLE);
break;
}
case R.id.mainBtn2:{ // 按钮 2 的响应事件
// 设置 TextView2 不可见
mainTV2.setVisibility(View.INVISIBLE);
break;
}
case R.id.mainBtn3:{ // 按钮 3 的响应事件
// 设置 TextView2 隐藏
mainTV2.setVisibility(View.GONE);
break;
}
default:
break;
}
}
}
由于程序一启动两个 TextView 都是可见的
当我们点击第 1 个按钮,把 TextView2visibility 属性设置为 INVISIBLE 时,程序如下如下图所示:
当我们点击第 3 个按钮,把 TextView2visibility 属性设置为 GONE 时,程序如下如下图所示:
当我们再点击第 1 个按钮,把 TextView2visibility 属性设置为 VISIBLE 时,TextView2 又呈现出来了,如下图所示:
由上面的演示可知
VISIBLE:设置控件可见
INVISIBLE:设置控件不可见
GONE:设置控件隐藏
而 INVISIBLE 和 GONE 的主要区别是:当控件 visibility 属性为 INVISIBLE 时,界面保留了 view 控件所占有的空间;而控件属性为 GONE 时,界面则不保留 view 控件所占有的空间。
android.support.v4.view.accessibility.AccessibilityManagerCompatIcs.AccessibilityStateChangeListenerBridge的实例源码
public Object newAccessiblityStatechangelistener(final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener(new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
@Override public Object newAccessiblityStatechangelistener( final AccessibilityStatechangelistenerCompat listener) { return AccessibilityManagerCompatIcs.newAccessibilityStatechangelistener( new AccessibilityStatechangelistenerBridge() { public void onAccessibilityStateChanged(boolean enabled) { listener.onAccessibilityStateChanged(enabled); } }); }
android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener的实例源码
public static Object newAccessibilityStatechangelistener(final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static Object newAccessibilityStatechangelistener( final AccessibilityStatechangelistenerBridge bridge) { return new AccessibilityStatechangelistener() { @Override public void onAccessibilityStateChanged(boolean enabled) { bridge.onAccessibilityStateChanged(enabled); } }; }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener((AccessibilityStatechangelistener) listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener((AccessibilityStatechangelistener) listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean addAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.addAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
public static boolean removeAccessibilityStatechangelistener(AccessibilityManager manager,Object listener) { return manager.removeAccessibilityStatechangelistener( (AccessibilityStatechangelistener)listener); }
我们今天的关于NEERC 1999 Divisibility /// 同余DP oj22640的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – setVisibility()什么时候不在视图中触发onVisibilityChanged()?、Android 中 visibility 属性 VISIBLE、INVISIBLE、GONE 的区别、android.support.v4.view.accessibility.AccessibilityManagerCompatIcs.AccessibilityStateChangeListenerBridge的实例源码、android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener的实例源码的相关信息,请在本站查询。
本文标签: