小编Ran*_*ku'的帖子

Android ListView适配器中item-id的用途是什么?

(不是特定于ListView,而是适配器).

当我继承BaseAdapter时,我一直在实现这个:

    @Override
    public long getItemId(int position) {
        return position; 
    }
Run Code Online (Sandbox Code Playgroud)

因为必须实现这一点.我没有看到任何使用它,我只需要getItem(位置),而不是getItemId(位置).

我想知道它是否有任何意义(Android SDK或其他东西)?

android listview position adapter

12
推荐指数
2
解决办法
1万
查看次数

Log.e不会打印UnknownHostException的堆栈跟踪

调用Log.e(TAG, "some message", e)where e是a UnknownHostException,不会在logcat上打印堆栈跟踪.

android logcat

12
推荐指数
1
解决办法
683
查看次数

如何在Go中使用可为空的字符串参数的函数?

我已经习惯了Java的String,我们可以传递null而不是""来表示特殊含义,例如使用默认值.

在Go中,string是基本类型,因此我无法将nil(null)传递给需要字符串的参数.

我可以使用指针类型编写函数,如下所示:

func f(s *string)
Run Code Online (Sandbox Code Playgroud)

所以调用者可以将该函数称为

f(nil)
Run Code Online (Sandbox Code Playgroud)

要么

// not so elegant
temp := "hello";
f(&temp) 
Run Code Online (Sandbox Code Playgroud)

但遗憾的是不允许以下情况:

// elegant but disallowed
f(&"hello");
Run Code Online (Sandbox Code Playgroud)

接收字符串或nil的参数的最佳方法是什么?

string parameters go

11
推荐指数
2
解决办法
4103
查看次数

计算布局后如何获得Android小部件的大小?

我有一个布局,指定相对维度的小部件大小,例如:

<LinearLayout ... layout_height="fill_parent">
     <ImageView ... layout_height="wrap_content" />
     <TextView ... layout_height="120dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

紧接着onCreate,我想知道ImageView的高度是多少.怎么做?

注:如果我打电话getHeight()onCreate,我得到0.

我也试过imageView.postDelayed,它适用于2.1模拟器但在1.5模拟器上失败(我也得到0).

最后,我尝试创建一个Handler,然后我handler.postDelayed用10毫秒的延迟调用.它适用于2.1和1.5模拟器,但是当我在eclipse调试器中启动程序时失败(因此,我得出结论,使用延迟并不能保证在imageview布局后获得高度.)

layout android handler postdelayed android-linearlayout

11
推荐指数
2
解决办法
2万
查看次数

支持Android手机的本机代码列表

是否有任何Android手机列表及其支持的本机代码?

例如,我想知道哪些手机仅armeabi支持哪些支持armeabi-v7a.后者很重要,因为我在本机代码中进行了大量的浮点计算.

android arm native cpu-architecture android-ndk

11
推荐指数
1
解决办法
1万
查看次数

Kotlin中另一个类内的密封类无法编译:无法访问'<init>'它是私有的

如果我使用了文档中的示例,

class SomeActivity : AppCompatActivity() {
    sealed class Expr
    data class Const(val number: Double) : Expr()
    data class Sum(val e1: Expr, val e2: Expr) : Expr()
    object NotANumber : Expr()
}
Run Code Online (Sandbox Code Playgroud)

它没有编译,错误:

Cannot access '<init>', it is private in 'Expr'.
Run Code Online (Sandbox Code Playgroud)

但是,将它移到封闭类之外会使其编译:

sealed class Expr
data class Const(val number: Double) : Expr()
data class Sum(val e1: Expr, val e2: Expr) : Expr()
object NotANumber : Expr()

class SomeActivity : AppCompatActivity() {
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?这是预期的行为吗?文档似乎没有提到这一点.

class sealed kotlin

11
推荐指数
1
解决办法
3673
查看次数

将TextView滚动到特定行

我在ScrollView中有一个TextView.假设ScrollView已命名s并且TextView已命名t.

我有很多行要在TextView中显示,同时我想将视图滚动到特定的行.

所以我这样做了:

t.setText(aVeryLongString);
int y = t.getLayout().getLineTop(40); // e.g. I want to scroll to line 40
s.scrollTo(0, y);
Run Code Online (Sandbox Code Playgroud)

但它不会滚动,除了第二次.似乎代码第一次完成时,ScrollView知道TextView的总高度是多少.

所以我认为在scrollTo调用之前必须要强制计算所需的高度.怎么做(或其他)?

android scroll textview

10
推荐指数
1
解决办法
6861
查看次数

什么是将2个类合并为1个类,其中一个类是另一个类的子类?

我有:

  • 抽象类A.
  • 扩展A的抽象类B.
  • 没有其他类扩展A除了B
  • 其他延伸B的类

为了减少类的数量,我希望将A和B合并到一个类中,并让其他类从新的合并类扩展.

这个重构的名称是什么?

PS在我的实现中它是在Java中,这种重构是否可以在IntelliJ中自动完成?

java refactoring class subclass intellij-idea

10
推荐指数
1
解决办法
1592
查看次数

什么是在任何位置具有O(1)for append,prepend和retrieve元素的数据结构?

我正在寻找Java解决方案,但任何一般的答案也没关系.

Vector/ArrayList是O(1)用于追加和检索,但O(n)用于前置.

LinkedList(在Java中实现为双链接列表)是O(1)用于追加和前置,但是O(n)用于检索.

Deque(ArrayDeque)对于上面的所有内容都是O(1)但不能在任意索引处检索元素.

在我看来,满足上述要求的数据结构内部有2个可增长列表(一个用于前置,一个用于追加),还存储一个偏移量以确定在检索期间获取元素的位置.

java linked-list vector deque data-structures

9
推荐指数
2
解决办法
3682
查看次数

Kotlin中的静态const来自Java类名

我通常在Java中有这个:

package some.package;
public class Clz {
    public static final String ACTION_DIVE = Clz.class.getName() + ".action.DIVE";
}
Run Code Online (Sandbox Code Playgroud)

可以从该类外部访问,Clz.ACTION_DIVE并且值将是"some.package.Clz.action.DIVE".

我怎么能在Kotlin类中做同样的事情,Clz以便可以从外部Java类以相同的方式访问它?我尝试了以下但它不编译,因为它不是常量:

package some.package
object Clz {
    const val ACTION_DIVE = Clz.javaClass.name + ".action.DIVE"
}
Run Code Online (Sandbox Code Playgroud)

java const kotlin

9
推荐指数
1
解决办法
3840
查看次数