我有一个关于Bitbucket的项目.只提交了来源.为了将项目检索到新机器上,我在IntelliJ中使用了Version Control> Checkout from Version Control.
然后询问我是否要从此源创建一个新项目,我回复是.到现在为止还挺好.它为我创建了一个很好的小Java项目,由一个模块组成.
但是,我将此项目纳入IntelliJ的目标是将其转变为Maven项目.我无法在任何地方找到任何可以让我这样做的选项!
有没有办法让IntelliJ为我生成一个基本的空pom.xml,具有名称和artifactId以及存储库?或者,有没有办法将项目作为Maven项目导入?(每当我尝试从现有源创建项目时,它只给我一个Java项目的选项.)
可能重复:
Android中的水平ListView?
像Android中的许多东西一样,你不会认为这会是一个如此难的问题,但哦,哦,你会错的.而且,与Android中的许多内容一样,API甚至没有提供合理可扩展的起点.如果我要打开自己的ListView,我会被诅咒,当我想要的只是把它拿走并把它转向它.\咆哮
好吧,现在我已经完成了冒烟,让我们谈谈问题本身.我需要的基本上就像是Gallery
,但没有中心锁定功能.我真的不需要ListView
listSelector,但这是一个很好的选择.大多数情况下,我可以用LinearLayout
内部的方式做我想做的事情ScrollView
,但我需要来自a的子视图ListAdapter
,我真的希望有一个视图回收器.我真的不想写任何布局代码.
我偷看了其中一些类的源代码......
图库:如果我覆盖大多数'onXyz'方法,复制所有源代码,但不要调用,看起来我可以使用Gallery scrollIntoSlots()
.但我敢肯定,如果我这样做,我会遇到一些无法访问的成员字段或其他一些无法预料的后果.
AbsSpinner:由于该mRecycler
字段是包私有的,我怀疑我是否能够扩展这个类.
AbsListView:看起来这个类只适用于垂直滚动,所以没有帮助.
AdapterView:我从来没有直接扩展这个类.如果你告诉我它很容易做,并且很容易自己动手RecycleBin
,我会非常怀疑,但我会试一试.
我想我可以复制这两个 AbsSpinner
并Gallery
得到我想要的东西......希望那些类没有使用一些我无法访问的包私有变量.你们都认为这是一个好习惯吗?有没有人有任何教程或第三方解决方案可能会让我朝着正确的方向前进?
更新:
到目前为止我找到的唯一解决方案是自己完成所有工作.自从提出这个问题以来,我已经AdapterView
从头开始重写并实现了自己的"HorizontalListView".真正覆盖Gallery的中心锁定功能的唯一方法是覆盖私有scrollIntoSlots
方法,我认为这需要在运行时生成子类.如果你足够大胆地做到这一点,它可以说是最好的解决方案,但我不想依赖可能改变的无证方法.
下面的Swathi EP建议我给出Gallery
一个OnTouchListener
并覆盖滚动功能.如果你不关心你的列表中有一扔支持,或者如果它是没关系的意见,在一扔动画结束捕捉到中心,那么这会为你工作!然而,最终仍然证明在不移除支撑的情况下移除中心锁定特征是不可能的.而且我问你,什么样的名单不扔?
所以,唉,这对我不起作用.:-(但如果你对这种方法感兴趣,请继续阅读......
我还必须对Swathi的代码添加一些内容以获得我想要的内容.在GestureListener.onTouch
,除了委托给手势检测器,我还必须返回true ACTION_UP
和ACTION_CANCEL
事件.这成功禁用了中心锁定功能,但它也禁用了投掷功能.我能够通过将自己的GestureListener委托给Gallery的onFling
方法来重新启用fling .如果您想尝试一下,请进入ApiDemos示例代码并使用以下代码替换Gallery1.java类:
import com.example.android.apis.R;
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.GestureDetector;
import android.view.MenuItem;
import android.view.MotionEvent; …
Run Code Online (Sandbox Code Playgroud) 我对Mercurial和Ubuntu都很陌生.
我似乎已经笨拙地安装了一些其他软件包,所以我想看看别人会怎么做.
我应该使用apt-get命令吗?如果是这样,在这种情况下我将如何使用它?在我的文件系统上安装Mercurial的最佳位置在哪里,我如何使它成为我的shell的一部分(我在想svn-ish)所以我可以正确检查并更新?
谢谢,亚历克斯
(前言:我对C/C++很陌生,我真的不知道本机代码的调试实际上是如何工作的.)
一些消息来源说gdb和lldb可以调试任何编译成机器代码的程序.其他人说要使用gdb进行调试,你必须使用-g
标志在gcc中编译.gcc本身的文档表明这是可选的,实际上如果你使用它,它可能会导致gdb 以外的调试器出现问题.Clang还有一个-g
标志,文档基本上只是说"生成调试信息".
那么这些调试器是否仅限于它们自己的工具链(GNU和LLVM),还是它们在某种程度上独立于所使用的编译器?
复制整个数组时,我经常看到人们写道:
int[] dest = new int[orig.length];
System.arraycopy(orig, 0, dest, 0, orig.length);
Run Code Online (Sandbox Code Playgroud)
但在我看来,没有理由支持这一点:
int[] dest = orig.clone();
Run Code Online (Sandbox Code Playgroud)
无论如何,它们都是浅色的.可能这些人只是没有意识到clone
存在.那么有什么理由不使用clone
?
IntelliJ是否与Eclipse的"Java堆栈跟踪控制台"等效,您可以在其中粘贴堆栈跟踪,如果它与项目中的任何源文件匹配,它将为您链接它?
这是我第一次使用XML布局制作应用程序.在过去,我总是在运行时动态生成我的布局,所以不要担心,我不是Android新手.不过,这是我第一次使用静态布局.那么这个消息到底是什么?
[2010-09-22 20:43:23 - Rockport] 'default' is not a best match for any device/locale combination.
[2010-09-22 20:43:23 - Rockport] Displaying it with 'Locale Language ___Region __, Normal Screen, Short screen aspect ratio, Landscape Orientation, No Dock, Day time, Medium Density, Finger-based touchscreen, Soft keyboard, Qwerty keybard, Trackball navigation, Screen resolution 480x320'
每次打开layout/
文件夹中的一个布局时,它都会打印到我的Eclipse控制台.如果我从任何其他文件夹打开布局,比如layout-land/
我没有收到任何消息.是不是只是图形布局编辑说:"这就是我要为你展示的东西?" 我可以放心地忽略它吗?
我正在寻求实现一个简单的缓存而不需要做太多的工作(当然).在我看来,标准Java集合之一应该足够了,只需要一些额外的工作.具体来说,我正在存储来自服务器的响应,密钥可以是请求URL字符串,也可以是从URL生成的哈希代码.
我原本以为我可以使用a WeakHashMap
,但看起来这种方法迫使我管理我想要保留的对象,并且我没有用强引用来管理的任何对象都会立即被扫除.我应该尝试一个ConcurrentHashMap
的SoftReference
值呢?或者那些也会被积极地清理干净?
我现在正在看LinkedHashMap
课.通过一些修改,它看起来很有希望用于MRU缓存.还有其他建议吗?
无论我使用哪个集合,我应该尝试手动修剪LRU值,还是可以信任VM偏向回收最近访问过的对象?
仅供参考,我正在Android上开发,所以我不想导入任何第三方库.我正在处理一个非常小的堆(16到24 MB),因此VM可能非常渴望回收资源.我认为GC会很有侵略性.
我正在使用Apache的HTTPClient在Java中工作并尝试连接到graph.facebook.com.我收到"SSLPeerUnverifiedException:No peer certificate"错误,所以我猜Facebook的CA不在默认密钥库中.所以我需要用我想要信任的所有证书创建自己的密钥库,是吗?所以我找到了以下用于获取证书的命令:
echo | openssl s_client -connect graph.facebook.com:443 2>&1 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > mycert.pem
Run Code Online (Sandbox Code Playgroud)
不知道那里发生了什么,但似乎有效.我将证书添加到Bouncy Castle格式的密钥库中.我使用新的密钥库创建了一个SSLSocketFactory,但它仍然不起作用.
我的第一个猜测是,也许我没有链中的所有证书(显然这些东西都是连锁的).那么我怎么知道是否涉及所谓的"中间"CA?我如何获得这些证书?我是否走在正确的轨道上?
我有一个现有的Maven项目,我用它来创建一个新的IntelliJ项目("从外部模型导入项目"选项).我更改了一些文件并提交了它们.
然后我意识到我在错误的分支上(让我们称之为wrong
).我退出IDEA,使用Tortoise SVN切换到正确的分支(让我们称之为right
),然后重新打开IDEA.一切似乎都很好,除了我现在在Changes窗口的Local选项卡中有一个名为"Switched Files"的组.这个"Switched Files"有一个名为"branches/wrong"的子组,它似乎包含整个存储库中的所有文件!这些文件与签入的文件没有区别right
,大多数文件也没有与之相同wrong
.然而,他们在我的更改窗口中.
此外,这些文件不会出现在Tortoise"Commit"窗口中,但它们会显示在Tortoise"Check for modification"窗口中.但是,据我所知,这些文件还没有被修改,也没有任何属性被修改过.
什么是"切换文件",如何简单地将所有内容还原到right
分支?