我想用一个RecyclerView填满整个屏幕的东西.我希望用户能够选择项目是从顶部开始(默认情况下是这样)还是从底部开始(反转完整的逻辑,顺序和函数逻辑RecyclerView!)
有没有办法做到这一点?
我收到以下错误(使用最新的支持库v23.0和构建SDK 23):
案例1:Android 4.2.1
java.lang.NullPointerException
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:523)
at android.view.View.measure(View.java:15612)
at android.support.v7.internal.widget.ListViewCompat.measureHeightOfChildrenCompat(ListViewCompat.java:301)
at android.support.v7.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1200)
at android.support.v7.widget.ListPopupWindow.show(ListPopupWindow.java:584)
at android.support.v7.widget.AppCompatSpinner$DropdownPopup.show(AppCompatSpinner.java:766)
at android.support.v7.widget.AppCompatSpinner.performClick(AppCompatSpinner.java:424)
at android.view.View$PerformClick.run(View.java:17439)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5341)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:929)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
案例2:Android 4.3
java.lang.NullPointerException
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:578)
at android.view.View.measure(View.java:16831)
at android.support.v7.internal.widget.ListViewCompat.measureHeightOfChildrenCompat(ListViewCompat.java:301)
at android.support.v7.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1200)
at android.support.v7.widget.ListPopupWindow.show(ListPopupWindow.java:584)
at android.support.v7.widget.AppCompatSpinner$DropdownPopup.show(AppCompatSpinner.java:766)
at android.support.v7.widget.AppCompatSpinner.performClick(AppCompatSpinner.java:424)
at android.view.View$PerformClick.run(View.java:18786)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method) …Run Code Online (Sandbox Code Playgroud) android spinner android-appcompat android-spinner android-support-library
我有一些我在mutliple项目中使用的库.我在库中的代码与更多版本的库(旧版和新版)兼容.但是库中的更改与所有构建版本不兼容.
我有一个较旧的项目,我目前不想更新到最新的构建工具版本,所以对于这个单项目,我想强制覆盖依赖项.
通常我会从库中排除依赖关系,如下所示:
compile ("com.doomonafireball.betterpickers:library:1.6.0") {
exclude group: 'com.android.support', module: 'support-v4'
}
Run Code Online (Sandbox Code Playgroud)
如何从本地库项目中排除依赖项?我试过了
compile project(':dialogs') {
exclude group: 'com.afollestad.material-dialogs'
}
Run Code Online (Sandbox Code Playgroud)
但这不编译......
编辑
这是我的对话框库:
compile('com.afollestad.material-dialogs:core:0.8.4.2@aar') {
transitive = true;
}
compile('com.afollestad.material-dialogs:commons:0.8.4.2@aar') {
transitive = true;
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的,但它不起作用:
compile(project(':dialogs')) {
exclude group: 'com.afollestad.material-dialogs'
}
compile 'com.afollestad:material-dialogs:0.7.8.1'
Run Code Online (Sandbox Code Playgroud)
问题:它编译并运行,但我得到NoSuchMethod例外.当我只是注释掉0.8.4.2库行并将其替换为0.7.8.1行(所有在我的库中)时一切正常......
我正在用我的Dropbox分享我的eclipse工作区.
我M:\Dropbox在家里和D:\Dropbox工作中都有我的Dropbox文件夹.
在家里,我想保留M:对于"我的文件" - 驱动并且不想将其更改为D:并且在工作中,M:已经映射...
除了制作我可以在两台机器上使用的位置的符号链接之外,还有其他方法吗?我的目标是,我不需要改变家用电脑上的任何东西......
另一个问题是,我正在使用这个变量的变量和相对路径来导入库.所以我只需更改单个变量,如果路径发生变化.
有没有办法解决这个问题?
我想将图像加载到ImageButton适配器中,这有时不起作用......我有一个带有 4 个条目的适配器,有时,按钮图像只加载了 2 次而不是 4 次。始终只在第一次创建适配器时......在屏幕旋转左右后,一切正常......但在第一次显示时,它无法正常工作......
具有 4 行的适配器仅在第一次创建时调用 2 次准备和两次加载...
以下是我的适配器getView:
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
if (convertView == null)
convertView = LayoutInflater.from(getContext()).inflate(R.layout.row_link, parent, false);
convertView.setTag(R.id.tag_pos, position);
ImageView iconRow = ViewHolder.get(convertView, R.id.icon);
final ImageButton btOpen = ViewHolder.get(convertView, R.id.btOpen);
// this NEVER fails
PicassoTools.getPicasso().load(item.getIconResId()).into(iconRow);
// this sometimes (at the first start) does not work reliable
PicassoTools.getPicasso().load(isAutoLinked ? R.drawable.linked : R.drawable.unlinked).into(new Target()
{
@Override
public void onPrepareLoad(Drawable d)
{
L.d(this, …Run Code Online (Sandbox Code Playgroud) 有没有办法将BottomNavigationView代码中新设计库的背景颜色设置为自定义颜色值而不是颜色资源?任何"技巧"可能吗?
我目前的解决方案
BottomNavigationView透明bottomNavigationView但这看起来很丑陋,特别是因为我必须使用自定义行为为背景视图与BottomNavigationView父级中的CoordinatorLayout... 进行并行动画...
我收到以下警告:
All com.android.support libraries must use the exact same version specification...
Run Code Online (Sandbox Code Playgroud)
我知道这意味着什么,但现在我陷入了如何轻松找出哪个依赖项确实包含冲突版本的问题。我想从它们中排除支持库,如下所示:
compile ('...') {
exclude group: 'android.support'
}
Run Code Online (Sandbox Code Playgroud)
但是我如何识别负责的依赖项呢?
我正在尝试实现一个全局加载对话框...我想调用一些静态函数来显示对话框和一些静态函数来关闭它.与此同时,我正在主线程或子线程中做一些工作......
我试过跟随,但对话框没有更新......只有一次,在再次隐藏之前,它会更新......
private static Runnable getLoadingRunable()
{
if (loadingRunnable != null)
{
loadingFrame.setLocationRelativeTo(null);
loadingFrame.setVisible(true);
return loadingRunnable;
}
loadingFrame = new JFrame("Updating...");
final JProgressBar progressBar = new JProgressBar();
progressBar.setIndeterminate(true);
final JPanel contentPane = new JPanel();
contentPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
contentPane.setLayout(new BorderLayout());
contentPane.add(new JLabel("Updating..."), BorderLayout.NORTH);
contentPane.add(progressBar, BorderLayout.CENTER);
loadingFrame.setContentPane(contentPane);
loadingFrame.pack();
loadingFrame.setLocationRelativeTo(null);
loadingFrame.setVisible(true);
loadingRunnable = new Runnable() {
public void run() {
try {
while (running) {
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
loadingFrame.setVisible(false); …Run Code Online (Sandbox Code Playgroud) 我想生成一个非常简单的类,只包含扩展函数,如下所示:
import com.my.app.SomeClass
fun SomeClass.function() {
}
Run Code Online (Sandbox Code Playgroud)
我尝试的:
val packageName = ...
val annotatedClassName = annotatedElement.simpleName
val fileName = "${annotatedClassName}_KotArgsExtensions"
val extensionBuilder = FileSpec.builder(packageName, fileName)
val funSpecBuilder= FunSpec.builder("${SomeClass::class.java.simpleName}.function").build()
extensionBuilder.addImport(SomeClass::class.java.`package`.name, SomeClass::class.java.simpleName)
extensionBuilder.addFunction(funSpecBuilder)
Run Code Online (Sandbox Code Playgroud)
我得到什么:
import com.my.app.SomeClass
fun `SomeClass.function`() {
}
Run Code Online (Sandbox Code Playgroud)
问题
如何正确创建像这样的扩展函数fun SomeClass.function()?
android ×6
gradle ×2
button ×1
dependencies ×1
dialog ×1
eclipse ×1
global ×1
imagebutton ×1
java ×1
kotlinpoet ×1
loading ×1
picasso ×1
spinner ×1
swing ×1
workspace ×1