我想实现一个Navigation View包含许多片段的片段,这些片段完全依赖于在中定义的值MainActivity.我知道MainActivity中的变量可以使用MainActivity中定义的方法从其他Fragments获取以获取值,但是这里的catch是MainActivity中变量的值可能会改变(在AsyncThread上运行).现在,我要么更改代码,以便我的Fragments根据片段本身中的某些事件更新其值或使用SharedPreference.但我不想使用SharedPreferences,也不必多次检查值的变化.
我知道在RxJS中,我们使用Observable以异步方式运行,并以类似于传送带的方式工作.通过官方文档进行了一些谷歌搜索:Observable证实了我对Android中可用的类似内容的怀疑,但找不到任何适当的教程或如何实现它的解释.所以,我正在寻找一个简单的代码片段,它可以清楚地说明Observable在Android中是如何工作的,如果它是Async,并且它的基础类似于它的RxJS实现.(不,我不想要RxJS实现)
测试用例:
MainActivity : int a, b (need observable for both variables)
Frag1 : int a1 , b1, a1changed(),b1changed()
Frag2 : int a2 , b2, a2Changed(), b2changed()
Run Code Online (Sandbox Code Playgroud)
MainActivity包含整数,其值在更改时应反映在片段中的相应整数中,并在注意到的更改上调用每个片段的单独函数.
问题就是这么简单.在赛普拉斯,我如何访问运行测试时打开的新窗口.
重新创建的步骤:
- 运行测试.在一些动作之后,弹出新窗口(该URL本质上是动态的).
- 填写新窗口中的字段,然后单击几个按钮.
- 在新窗口中完成所需操作后,关闭新窗口并返回主窗口.
- 继续执行主窗口.
兴趣点:重点应该是
main window -> new window -> main window
Run Code Online (Sandbox Code Playgroud)
我读过很少与使用iframe和有关的东西confirmation box,但这里没有.与访问一个全新的窗口有关.像Window HandlersSelenium 一样的东西.遗憾的是找不到与之相关的任何内容.
我在Android上遇到了Sweep Gradient,如果它可以让我更好地控制色彩间距和过渡,那么我很感兴趣.做了快速搜索,发现几乎没有任何关于它!
我发现的唯一一些参考文献(并且它们不符合接近正确或全面解释的标准)如下所示:
几乎就是这样.其他人则相似或贬低.
到目前为止我得出的结论很少(也许是错误的):
我知道人们可能会认为这不是一个真正的技术问题.但是对于我使用Sweep Gradients或至少知道它们的意思,描述必须来自某个地方.并请提供一些答案的例子在环比其它情况下,扫描的使用.
问题在标题中给出,即访问其父项被隐藏的元素.问题是,根据cypress.io文档 :
一个元素被认为是隐藏的,如果:
- 它的宽度或高度为0.
- 它的CSS属性(或祖先)是visibility:hidden.
- 它的CSS属性(或祖先)是display:none.
- 它的CSS属性是位置:固定,它是屏幕外或掩盖.
但是我正在使用的代码要求我单击其父级被隐藏的元素,而元素本身是可见的.
因此,每次我尝试单击该元素时,都会引发错误读取:
CypressError:超时重试:预期'<mdc-select-item #mdc-select-item-4.mdc-list-item>'为'可见'
此元素'<mdc-select-item #mdc-select-item-4.mdc-list-item>'不可见,因为其父元素'<mdc-select-menu.mdc-simple-menu.mdc-select__menu>'有CSS属性:'display:none'
我正在使用的元素是一个dropdown item写的pug.该元素是angular-mdc-web中定义的组件,它使用mdc-select下拉菜单mdc-select-item及其元素(项),这是我必须访问的.
类似结构的示例代码:
//pug
mdc-select(placeholder="installation type"
'[closeOnScroll]'="true")
mdc-select-item(value="false") ITEM1
mdc-select-item(value="true") ITEM2
Run Code Online (Sandbox Code Playgroud)
在上面,ITEM1是我必须访问的元素.我这样做cypress.io如下:
//cypress.io
// click on the dropdown menu to show the dropdown (items)
cy.get("mdc-select").contains("installation type").click();
// try to access ITEM1
cy.get('mdc-select-item').contains("ITEM1").should('be.visible').click();
Run Code Online (Sandbox Code Playgroud)
试过{force:true}强迫项目点击,但没有运气.尝试使用{enter}父按钮上的按键选择项目mdc-select,但再次没有运气,因为它抛出:
CypressError:cy.type()只能在textarea或:text上调用.您的主题是:<mdc-select-label class ="mdc-select__selected-text">选择... </ mdc-select-label>
也尝试使用该select命令,但它不可能,因为赛普拉斯引擎无法将元素识别为 …
我一直在研究一个自我项目,使用可用的JSON数据复制javascript的reddit页面.但我无法复制原始网站的行为header section,其中header响应(屏幕尺寸减小时的行为).
问题 :
divs是translucent,在后面的文本也显示.想不出任何解决方案.navbar elements当空间不足时,超越下来.这不是它是如何在原,在那里他们得到了隐藏more和Login section.我无法弄清楚如何将它放在一排.一个较小的,类似的样本片段:
.custom-header-full{
background: rgba(255,255,0,1);
}
/* Top */
.custom-top-header-container{
background: rgba(0,0,0,0.7); /* translucent */
position:absolute;
top:0;
width: 100%;
}
#top-right-div{
position: absolute;
right: 0;
z-index: 1000;
}Run Code Online (Sandbox Code Playgroud)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
rel="stylesheet"/>
<div class="navbar navbar-static-top custom-header-full">
<!-- TOPMOST header with Links …Run Code Online (Sandbox Code Playgroud)我的问题很简单.如何清除在查看所有元素,可能有焦点的对焦(像 EditText -或- TextView其textIsSelectable="true"与文本在它选择在clearFocus事件的发生).
为什么要问(如果我没有得到上面的通用回复):
我通过导航视图访问的片段很少.我的主要目标是在导航视图中打开抽屉时失去片段中元素的焦点.我知道有可能获取NavigationDrawer的方法,并在我的MainActivity中设置它,以便在抽屉打开时,如果其中一个片段中的我的EditText打开,我调用hideSoftKeyboard代码,以便它关闭SoftKeyboard.onDrawerSlide
我的代码在抽屉打开时获取事件 :(在MainActivity的onCreate()方法中)
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close)
{
//Hide SoftKeyboard on Navigation Drawer Open
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
//Hide SoftKeyboard if it is open
hideSoftKeyboard();
//And Make any view having focus loose focus
//...
//ClearFocus for the whole view is …Run Code Online (Sandbox Code Playgroud) 我已经安装了本地版本的dynamoDB,并设置了一个maven java项目来访问数据库.当我运行代码时,我得到以下错误.由于我已在本地安装服务器(它运行子localhost:8000),我没有任何凭据提供...任何想法如何解决?
import java.util.Iterator;
import org.apache.commons.cli.ParseException;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.Table;
import com.amazonaws.services.dynamodbv2.document.TableCollection;
import com.amazonaws.services.dynamodbv2.exceptions.DynamoDBLocalServiceException;
import com.amazonaws.services.dynamodbv2.local.embedded.DynamoDBEmbedded;
import com.amazonaws.services.dynamodbv2.local.main.ServerRunner;
import com.amazonaws.services.dynamodbv2.local.server.DynamoDBProxyServer;
import com.amazonaws.services.dynamodbv2.model.ListTablesResult;
public class Test {
public static void main(String[] args) {
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
// we can use any region here
new AwsClientBuilder.EndpointConfiguration("http://localhost:8000", "us-west-2"))
.build();
DynamoDB dynamoDB = new DynamoDB(client);
//dynamoDB.listTables();
TableCollection<ListTablesResult> list = dynamoDB.listTables();
Iterator<Table> iterator = list.iterator();
System.out.println("Listing table names");
while (iterator.hasNext()) {
Table table = …Run Code Online (Sandbox Code Playgroud) 主要问题就是这样.解析openssh公钥以rfc 4716符合格式.唯一的问题是它必须在java中.
使用ssh-keygen,它只是单行命令:
ssh-keygen -e -f openssh_key.pub
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在Java中找不到任何其他来源.甚至没有提到转换所需的任何算法或步骤.所有这些都围绕着ssh-keygen自身的使用.当然,我可以java.exec用来调用命令,但那是最糟糕的情况.
示例openssh密钥(已将其保留为代码格式,以便保留生成的空格/换行符):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8OfpRwwUSgxiB8fbecvkCUEktSpWikvsWTyCnl5p3uSmsGg/F1lwVPXuuVlQ4VZlYqMuEBEMRF9ADdXWWNxjO/Hd7688ow7ocncxl0xKXsH5Fc9GHvE8yfUh94F8Qm9x8M8Uux+XsNEvPG8KI/QUJWndIsHv+m//3nbEEqUTAlzsyY0mjHW/dPORhXcB5WeGH+cBRAhcp5JGKAq26TOsuNY8H+nrlxX6z03xbUN28HHdXv6uKZfpnVpl6tM0khxbh7F+tLYWeUIZ+nYaDBPINv8Mkd6Duqe/GOLtgVUIR76Adijok4w5oaKlTq27xzMurl kaushik@kaushik-HP
Run Code Online (Sandbox Code Playgroud)
使用ssh-keygen解析:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, converted by kaushik@kaushik-HP from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8OfpRwwUSgxiB8fbecvk
CUEktSpWikvsWTyCnl5p3uSmsGg/F1lwVPXuuVlQ4VZlYqMuEBEMRF9ADdXWWNxjO/Hd76
88ow7ocncxl0xKXsH5Fc9GHvE8yfUh94F8Qm9x8M8Uux+XsNEvPG8KI/QUJWndIsHv+m//
3nbEEqUTAlzsyY0mjHW/dPORhXcB5WeGH+cBRAhcp5JGKAq26TOsuNY8H+nrlxX6z03xbU
N28HHdXv6uKZfpnVpl6tM0khxbh7F+tLYWeUIZ+nYaDBPINv8Mkd6Duqe/GOLtgVUIR76A
dijok4w5oaKlTq27xzMurl
---- END SSH2 PUBLIC KEY ----
Run Code Online (Sandbox Code Playgroud)
我花了一天时间试图让Cognito在我的服务器上工作.我找不到任何有用的文档,因为没有明确的例子来设置它.
我的服务器上有以下代码:
BasicAWSCredentials credentials = new BasicAWSCredentials(
"A**************",
"+y*****************************");
AmazonCognitoIdentityClient client =
new AmazonCognitoIdentityClient(credentials);
GetOpenIdTokenForDeveloperIdentityRequest tokenRequest =
new GetOpenIdTokenForDeveloperIdentityRequest();
tokenRequest.setIdentityPoolId("eu-west-1:be9d19a5-*******************");
HashMap<String, String> map = new HashMap<String, String>();
//Key -> Developer Provider Name used when creating the identity pool
//Value -> Unique identifier of the user in your <u>backend</u>
map.put("access.com.cbn.postref", "fred");
//Duration of the generated OpenID Connect Token
tokenRequest.setLogins(map);
tokenRequest.setTokenDuration(1000l);
GetOpenIdTokenForDeveloperIdentityResult result = client
.getOpenIdTokenForDeveloperIdentity(tokenRequest);
String identityId = result.getIdentityId();
String token = result.getToken();
System.out.println("id = " + identityId + " token …Run Code Online (Sandbox Code Playgroud) 我在使用时偶然发现了这个问题custom Square Layout:通过扩展布局并覆盖其onMeasure()方法,使尺寸=两个中的较小者(高度或宽度).
以下是自定义布局代码:
public class CustomSquareLayout extends RelativeLayout{
public CustomSquareLayout(Context context) {
super(context);
}
public CustomSquareLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomSquareLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public CustomSquareLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
//Width is smaller
if(widthMeasureSpec < heightMeasureSpec)
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
//Height is smaller
else …Run Code Online (Sandbox Code Playgroud) android ×4
java ×4
cypress ×2
javascript ×2
android-view ×1
angular ×1
css ×1
drawable ×1
focus ×1
gradient ×1
html ×1
observable ×1
openssh ×1
pug ×1
token ×1