我为Acrobat Reader创建了Javascript,允许您保存当前打开的选项卡.它添加了菜单项:"保存选项卡","加载选项卡"和"切换自动加载".它保存标签和页码,并恢复它们.
它对Linux来说特别有用,因为Linux上没有很多pdf阅读器.但是,我无法弄清楚如何捕获打开或关闭文档事件,或者设置一些计时器事件以自动存储当前的选项卡列表.
/*
Here is the script, put it in $HOME/.adobe/Acrobat/9.0/JavaScripts (or in
the equivalent program files folder under Windows,) and it will automatically
be loaded.
When you need to save current state, choose menu "view -> Save Tabs", to restore
recently saved tabs choose "view -> Load Tabs".
*/
var delim = '|';
var parentMenu = "View";
/*
Loading Saved Tabs
*/
function LoadTabs() {
if (global.tabs_opened == null) {
return;
}
var …Run Code Online (Sandbox Code Playgroud) 我知道我可以在Eclipse源代码菜单中为字段生成setter和getter,但我很惊讶它不提供用新调用方法调用来替换直接字段访问器.
有谁知道如何做到这一点,手动搜索和替换?
谢谢!
我想从一致的测试环境开始,所以我需要重置/清除我的偏好.这是我到目前为止测试的SetUp.它没有报告任何错误,我的测试通过了,但是没有清除偏好.
我正在测试"MainMenu"活动,但我暂时切换到OptionScreen活动(扩展了Android的PreferenceActivity类.)我确实看到测试在运行期间正确打开了OptionScreen.
public class MyTest extends ActivityInstrumentationTestCase2<MainMenu> {
Run Code Online (Sandbox Code Playgroud)
...
@Override
protected void setUp() throws Exception {
super.setUp();
Instrumentation instrumentation = getInstrumentation();
Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(OptionScreen.class.getName(), null, false);
StartNewActivity(); // See next paragraph for what this does, probably mostly irrelevant.
activity = getActivity();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity);
settings.edit().clear();
settings.edit().commit(); // I am pretty sure this is not necessary but not harmful either.
Run Code Online (Sandbox Code Playgroud)
StartNewActivity代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName(instrumentation.getTargetContext(),
OptionScreen.class.getName());
instrumentation.startActivitySync(intent);
Activity currentActivity = getInstrumentation()
.waitForMonitorWithTimeout(monitor, 5);
assertTrue(currentActivity != null); …Run Code Online (Sandbox Code Playgroud) android unit-testing preferences android-preferences android-activity
如何使用单个 Java/Perl正则表达式搜索和替换将具有下划线的名称转换为驼峰案例名称?
underscore_variable_name -> underscoreVariableName
UNDERSCORE_VARIABLE_NAME -> underscoreVariableName
_LEADING_UNDERSCORE -> leadingUnderscore
Run Code Online (Sandbox Code Playgroud)
我要求单个正则表达式的原因是我想使用Eclipse或Notepad ++搜索和替换来实现这一点.
是否可以同时拥有顶部的微调器/下拉菜单和操作栏中的下方的选项卡?我想使用操作栏顶部的微调器作为视图切换控制器(即表视图或图表视图),而下面的选项卡将显示不同的数据列表.
以下屏幕截图说明了我想要实现的目标:

如果在操作栏中无法同时使用这两种模式,我可以将TabWidget放在内容视图的顶部.但是,我有点不确定每个标签是否应该有一个片段或一个活动.
无界通配符<?>和绑定通配符之间是否有区别Object,例如<? extends Object>?
我记得曾经在某处看过,仿制药的早期草稿有所不同,但是找不到那个来源了.
我正在创建一个应用程序,它在屏幕底部有五个选项卡,每个选项卡打开一个不同的Activity.
我的选项卡活动扩展了我刚刚阅读的TabActivity,我不应该使用Fragments.
如何更改我的应用程序以使用Fragments?我已经阅读了android.developer.com上的信息,但我仍然不知道如何做到这一点.
我喜欢使用Eclipse的Java编辑器功能,它允许我将编辑器窗口分成几个窗格,这样我就可以同时查看多个文件(见下文).当我这样做时,编辑器通常无法显示最长的行,我必须使用水平滚动条.

我不想重新格式化源本身,因为窗口宽度会根据我正在看的内容而改变.所以我正在寻找的是一个软线包装,就像许多编辑支持一样(见下文).我可以在Eclipse中执行此操作吗?

我的Eclipse已经停止构建我的Android,所以我删除了旧版本并安装了Indigo.当我尝试导入Android项目时,我收到此错误:
Errors occurred during the build.
Errors running builder 'Android Resource Manager' on project 'ACCUWX_HoneyComb'.
java.lang.NullPointerException
Errors running builder 'Android Pre Compiler' on project 'ACCUWX_HoneyComb'.
java.lang.NullPointerException
Errors running builder 'Java Builder' on project 'ACCUWX_HoneyComb'.
java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
请帮忙!
我能够使下面的通用方法工作的唯一方法是传递看似冗余的TypeLiteral<Set<T>>参数.我认为应该可以在给定其他参数的情况下以编程方式构造此参数,但无法弄清楚如何.
protected <T> Key<Set<T>> bindMultibinder(
TypeLiteral<Set<T>> superClassSet, TypeLiteral<T> superClass) {
final Key<Set<T>> multibinderKey = Key.get(superClassSet, randomAnnotation);
return multibinderKey;
}
Run Code Online (Sandbox Code Playgroud)
客户端代码如下:
bindMultibinder(new TypeLiteral<Set<A<B>>>(){}, new TypeLiteral<A<B>>(){});
Run Code Online (Sandbox Code Playgroud)
其中A和B是接口.
如果我尝试以下(删除TypeLiteral<Set<T>> superClassSet参数),我会收到java.util.Set<T> cannot be used as a key; It is not fully specified.运行时错误.
protected <T> Key<Set<T>> bindMultibinder(TypeLiteral<T> superClass) {
final Key<Set<T>> multibinderKey = Key.get(
new TypeLiteral<Set<T>>() {}, randomAnnotation);
return multibinderKey;
}
Run Code Online (Sandbox Code Playgroud) android ×4
java ×4
eclipse ×3
android-tabs ×2
generics ×2
acrobat ×1
eclipse-jdt ×1
editor ×1
formatting ×1
guice ×1
javascript ×1
linux ×1
macos ×1
pcre ×1
preferences ×1
refactoring ×1
regex ×1
set ×1
types ×1
unit-testing ×1
word-wrap ×1