我一次又一次地认为,在开发过程中,Android SDK突然不会重新生成"R"文件.通常这是由于许多.xml文件中的一个出现了一些错误,但是该错误的东西并没有给出轻微的指示,因为它为什么突然拒绝重新生成该文件.
没有任何的我的.xml文件,并手动检查所有的(同时近百!)XML文件中的错误是没有真正的乐趣,或者列出了错误或警告!
是否有一些选项或日志或某些东西可以更快,更直接地找到问题?上次我不得不进行冗长的二进制搜索(即复制和删除第二个测试项目中的文件),试图找到有问题的文件.这真是一场噩梦,而不是它应该在任何体面的SDK中应该得到这个名字!
我在Java 8运行时中使用Eclipse Oxygen。我有一个XML模式,我需要使用JAXB生成相应的XML-> Java绑定。但是,当我右键单击.xsd文件->生成-> JAXB类...”并浏览对话框时,我收到一条警告“类路径似乎不包含继续进行类生成所必需的库”。 ,当我继续时,我遇到一个异常“错误:找不到或加载主类com.sun.tools.internal.xjc.XJCFacade”。
现在,据我所知,自v1.6以来的Java包含所有必需的JAXB库和工具。那么,为什么这不起作用?
作为一种变体,我勾选了复选框以使用Eclipe的内置“ MOXy”实现,但这也不起作用。
然后我搜索了一下,发现我需要确保选择了一个包含JAXB的运行时(即>> v1.6的运行时),但这显然是这种情况。
要执行此操作,我需要添加/下载/配置什么?欢迎任何指示或指示!
我正在尝试编写一个 dockerfile,在其中向名为 envvars 的脚本添加一些 java 选项。为了实现这一点,我想在所述文件中附加一些文本行,如下所示:
RUN echo "JAVA_OPTS=$JAVA_OPTS -Djavax.net.ssl.trustStore=${CERT_DIR}/${HOSTNAME}_truststore.jks" >> ${BIN_DIR}/envvars
RUN echo "JAVA_OPTS=$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=${PWD_TRUSTSTORE}" >> ${BIN_DIR}/envvars
RUN echo "export JAVA_OPTS" >> ${BIN_DIR}/envvars
Run Code Online (Sandbox Code Playgroud)
这里的问题是,我想要杂项。占位符 ${varname} (那些带有大括号的)在执行 docker build 命令期间被替换,而子字符串 '$JAVA_OPTS' (即那些没有大括号的)应该被回显,从而逐字添加到 envvars 文件中,即最后文件中的结果/usr/local/apache2/bin/envvars应为:
...
JAVA_OPTS=$JAVA_OPTS -Djavax.net.ssl.trustStore=/usr/local/apache2/cert/myserver_truststore.jks
JAVA_OPTS=$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=my_secret
export JAVA_OPTS
Run Code Online (Sandbox Code Playgroud)
如何从 dockerfile 中的变量替换中转义 $ 符号?我找到了使用 \$ 或 $$ 的提示,但两者都不适合我。
如果这很重要(我希望/预计不会):我正在 Windows 10 上使用“Docker Desktop”构建映像,但我希望 dockerfile 对此不可知。
我真的很困惑 Vaadin 的 Tabs/Tab 组件:
我创建了一个包含几个选项卡的页面,本质上是这样的:
Tabs tabs = new Tabs();
Tab tab1 = new Tab("Label 1");
tab1.add(<some components (labels and entry fields) here>);
tabs.add(tab1);
Tab tab2 = new Tab("Label 2");
tab2.add(<some components (labels and entry fields) here>);
tabs.add(tab2);
Tab tab3 = new Tab("Label 3");
tab3.add(<some components (labels and entry fields) here>);
tabs.add(tab3);
mainPage.add(tabs)
Run Code Online (Sandbox Code Playgroud)
我期望得到的渲染与此类似(当然以某些样式为模):
___________ ___________ ___________
/ Label 1 \/ *Label 2* \/ Label 3 \
+----------------------------------------------------+
| Content of Tab 2 visible |
| |
| (the …Run Code Online (Sandbox Code Playgroud) 这是我第二次遇到这种情况,Vaadin 版本的更改完全停止了我的构建过程:
当我想要给我的项目(一直在构建和执行良好)尝试将其从 Vaadin 18.0.2 更新到 20.0.2 时,问题就开始了。奇怪的是,这不起作用:虽然项目构建良好并且启动时没有错误或异常,但 UI 没有显示。所有加载启动页面的尝试都只产生一个蓝色进度条,该进度条快速进展到屏幕中间,然后变得越来越慢,最终请求超时。没有错误消息,什么都没有:-( 已经最令人失望了!
因此,我将 pom.xml 中的 Vaadin 版本恢复到 v18.0.2,现在我陷入困境。当尝试构建项目时,我遇到了这个错误:
...
[INFO] --- vaadin-maven-plugin:18.0.2:build-frontend (default) @ kis-monitoring ---
[INFO] Scanning classes to find frontend configurations and dependencies...
[INFO] Visited 2737 classes. Took 3034 ms.
[INFO] Visited 141 classes. Took 61 ms.
[INFO] writing file U:\workspace_Vaadin\my_project\target\flow-frontend\package.json.
[INFO] writing file U:\workspace_Vaadin\my_project\target\flow-frontend\form\package.json.
[INFO] writing file 'U:\workspace_Vaadin\my_project\target\index.html'
[INFO] writing file 'U:\workspace_Vaadin\my_project\target\index.ts'
[INFO] Parsing java files from [U:\workspace_Vaadin\my_project\src\main\java]
[INFO] There are no connect endpoints to generate.
[INFO] Running …Run Code Online (Sandbox Code Playgroud) 我在使用我创建的ListView时遇到问题:我想在单击它时选择一个项目.
我的代码如下:
protected void onResume() {
...
ListView lv = getListView();
lv.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {
Log.v(TAG, "onItemSelected(..., " + pos + ",...) => selected: " + getSelectedItemPosition());
}
public void onNothingSelected(AdapterView<?> adapterView) {
Log.v(TAG, "onNothingSelected(...) => selected: " + getSelectedItemPosition());
}
});
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> adapterView, View view, int pos, long id) {
lv.setSelection(pos);
Log.v(TAG, "onItemClick(..., " + pos + ",...) => selected: " + getSelectedItemPosition());
} …Run Code Online (Sandbox Code Playgroud) “Vite”的描述很诱人,我傻到启用了这个新功能。从那时起我就陷入了无休止的 UI 重新编译循环!即,每次登录应用程序后,前端都会再次重新编译并重新启动应用程序。||-(
不接受在右下控制对话框中禁用 Vite,它保持激活状态。我如何再次摆脱这个未烘焙的功能?
这是使用 Vaadin 23.1.7 和 Java 17。
我有一个关于Android将布局分离到layout.xml文件的一般问题:
我的应用程序需要显示一个表,其中行数和列数在运行时会有所不同.到目前为止,我在相应的layout/.... xml文件中进行了TableView的布局,然后根据需要在运行时将TableRow-s和单元格(TextView)添加到表中.以编程方式添加行和单元格的缺点是,以后无法真正更改设计(例如,更改单元格的颜色或边距),而无需稍后修改代码.
我想要做的是向表中添加一行,将单个单元格添加到布局文件中的行,然后将它们用作"模式"或模板,以生成所有实际表的行和单元格.这将允许在layout.xml文件中指定颜色和其他参数(因此也可以在以后更改它们而无需更改代码),但仍允许任意数量的列和单元格.
但是,我在Views中找不到"copy"--constructor或"duplicate"-method.怎么能实现这个目标?从单个"示例"或模板元素创建列表或表的建议方法是什么?还是有另一种方法来实现我想要的东西?
希望我能说清楚......迈克尔
我正在拼命尝试以编程方式在表中设置单元格的TextView属性,但无法使其工作!每当我设置布局属性时,该字段将不会出现(但不会出现任何错误或异常).我把它归结为这个简单的例子:
package mmo.application.listpro;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class Test extends Activity
{
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TableLayout table = new TableLayout(this);
TableRow row = new TableRow(this);
for (String label: new String[] {"field1", "field2", "field3"}) {
TextView tv = new TextView(this);
tv.setText(label);
// LinearLayout.LayoutParams lp =
// new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
// LinearLayout.LayoutParams.WRAP_CONTENT);
// lp.setMargins(2, 2, 2, 2); // left/top/right/bottom
// tv.setLayoutParams(lp);
row.addView(tv);
}
table.addView(row);
setContentView(table);
}
}
Run Code Online (Sandbox Code Playgroud)
这将显示三个字段,但是当您取消注释五个注释行时,将显示NOTHING.为什么会这样?为什么设置布局参数会导致我的TextView不出现?我被卡住了!我错过了什么?
迈克尔 …
我很难找到用新数据更新图表的方法。使用以下方法将数据添加到图表中:
Configuration conf = chart.getConfiguration();
conf.addSeries(series);
Run Code Online (Sandbox Code Playgroud)
但没有对应的“删除(系列)”!?!因此,如果我想更新正在显示的数据并添加另一个系列,我实际上会在图表中添加另一条线(或条形图或我选择的任何可视化效果),这显然不是我想要/需要的。
我克服这个问题的第一次尝试是获取旧数据系列并将它们从图表中删除,但getSeries()我只得到现有系列的不可修改的副本,因此该尝试以java.lang.UnsupportedOperationException.
因此我的问题是:如何说服现有图表删除所有旧数据系列?请不要告诉我,我每次都需要重新创建整个图表组件!