好吧,我正在尝试在更改数据后获取listview高度,但它总是返回先前的高度,而不是实际高度.
所以当我设置setadapter时,它会获得旧值.例如:
ActualHeight = 100
Change data (filter) -> NewHeight = 60
ListView.GetHeight still returns 100.
Again
ActualHeight = 60
Change data (filter) -> NewHeight = 20
ListView.GetHeight still returns 60.
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是:
int width, height = 0;
EditText edt_search;
ListView lv_marca;
List<Marca> list_marca = new ArrayList<Marca>();
List<Marca> list_marca_search = new ArrayList<Marca>();
String text = edt_search.getText().toString();
list_marca_search.clear();
if(text.startsWith(".")){
text = text.replace(".", "");
for (Marca m : list_marca) {
if (String.valueOf(m.getCd_marca()).equals(text)){
list_marca_search.add(m);
}
}
} else {
for (Marca m : lista_marca) …Run Code Online (Sandbox Code Playgroud) 我需要阻止它,因为我在点击按钮时会丢失页面中的参数.
这是我的代码:
<h:commandLink styleClass="ui-btn ui-btn-c ui-icon-arrow-r ui-btn-icon-right" value="Continuar" action="#{metaWEB.btnProximo()}" />
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一些结果,比如说如何让commandButton不能完全刷新页面?如何使用f:ajax?
但我的操作使用来自页面的消息,因此需要重新加载表单,但页面不是.
我找到了这个帖子/sf/ask/1320769131/#18868374
我想可能是我的解决方案,但我不明白他做了什么:(
谢谢高级
我正在使用ajax用Jquery Mobile编程,它很好,ultil我尝试使用ajax渲染一些东西:(
我正在尝试啊:当我选择另一个h:selectOneMenu时,selectOneMenu刷新项目,我把它放在里面啊:panelGroup工作.但是,当执行ajax并更新panelGroup时,selectOneMenu会丢失JM css并变得难看.
我正在使用jsf 2.2和Jquery Mobile 1.4 Beta
之前:

后:

这是我的页面.我猜这个bean没有用,因为ajax工作正常,selectonemenu正确渲染项目.问题只是css:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets" >
<ui:composition >
<h:head>
<title>Manager</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0-beta.1/jquery.mobile-1.4.0-beta.1.min.css" />
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.0-beta.1/jquery.mobile-1.4.0-beta.1.min.js"></script>
<f:metadata>
<f:viewParam name="cd_meta" value="#{metaWEB.cd_meta}"></f:viewParam>
</f:metadata>
</h:head>
<h:body >
<div data-role="page" >
<div data-role="header" data-theme="b" >
<a href="#{metaWEB.voltar()}" data-icon="arrow-l" data-iconpos="notext" data-iconshadow="false" data-theme="a" >Menu</a>
<h1>Meta</h1>
</div>
<div data-role="content" >
<h:messages id="mensagem_verificacao" showDetail="false" style="color: red;" />
<h:form id="f_meta_cadastro" >
<f:passThroughAttribute …Run Code Online (Sandbox Code Playgroud) 我有一个登录页面:
<h:form id="f_login" >
<f:passThroughAttribute name="data-ajax" value="false" />
<h:messages id="message" showDetail="false" errorClass="error_msg" fatalClass="success_msg" infoClass="info_msg" warnClass="warning_msg" />
<h:inputText value="#{loginWEB.user.email}" >
<f:passThroughAttribute name="placeholder" value="Email" />
<f:ajax event="change" execute="@this" />
</h:inputText>
<h:inputSecret value="#{loginWEB.user.senha}" autocomplete="off" >
<f:passThroughAttribute name="placeholder" value="Senha" />
<f:ajax event="change" execute="@this" />
</h:inputSecret>
<h:commandButton id="btn_login" value="Login" action="#{loginWEB.login()}" >
<f:passThroughAttribute name="data-theme" value="g" />
<f:ajax render="message" />
</h:commandButton>
</h:form>
Run Code Online (Sandbox Code Playgroud)
使用此操作方法:
public void login() {
try {
FacesContext context = FacesContext.getCurrentInstance();
if (...) { //Verify email and password
context.getExternalContext().redirect("/templates/main.xhtml");
}
else {
FacesMessage message = …Run Code Online (Sandbox Code Playgroud) 这是我试图做的JSFiddle:JSFiddle示例
它是响应式的,并且在很大的宽度,它正是我想要的,像这样:

但是在小尺寸中,它与另一个文本重叠和/或打破线条,如下所示:

还有这个:

这是我对文本的简要介绍:
.giro-nome {
position: absolute;
top: 25%;
}
.giro-percentual {
position: absolute;
right: 0;
top: 25%;
font-weight: 700;
}
Run Code Online (Sandbox Code Playgroud)
我只想将文本停在一行中,就像这样(预期,不是真实的):

可能吗?可能不是绝对的,就像我在做,但我不知道另一种方式去做.
谢谢高级.