小编Mar*_*Bro的帖子

Java中的等于vs Arrays.equals

在比较Java中的数组时,以下两个语句之间是否有任何区别?

array1.equals(array2);
Arrays.equals(array1, array2);
Run Code Online (Sandbox Code Playgroud)

如果是这样,他们是什么?

java arrays equality

202
推荐指数
5
解决办法
16万
查看次数

Android:android.content.res.Resources $ NotFoundException:字符串资源ID#0x5

当我运行我的应用程序时,我从标题中获得了异常.它的作用是它有一个带有Hangman游戏单词的.txt文件,我认为在访问该文件时会抛出异常.我的文件cuvinte.txt位于/ assets /中.这是我的代码(我跳过layout/xml部分,工作正常):

public void onCreate() {
    // all the onCreate() stuff, then this:
    try {
        AssetManager am = this.getAssets();
        InputStream is = am.open("cuvinte.txt");
        InputStreamReader inputStreamReader = new InputStreamReader(is);
        BufferedReader b = new BufferedReader(inputStreamReader);
        String rand;
        while((rand=b.readLine())!=null){
            cuvinte.add(rand);
        }
    } catch (IOException e) {
        Toast.makeText(this, "No words file", Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }

    newGame(newG);
}

public void newGame(View view){
    Random rand = new Random();
    String stringCuvant = cuvinte.get(rand.nextInt(cuvinte.size()));
    cuvant.setText("");
    System.out.println(stringCuvant);
    for(int i = 0; i< stringCuvant.length(); i++){
        cuvant.append("_ ");
    }
    incercari.setText(valIncercari);
} …
Run Code Online (Sandbox Code Playgroud)

string android file

135
推荐指数
4
解决办法
12万
查看次数

使用startActivityForResult,如何在子活动中获取requestCode?

我有四个活动,比如A,B,C和D.我的情况是A将通过startActivityForResult启动活动B.

startActivityForResult(new Intent(this,B.class),ONE);
Run Code Online (Sandbox Code Playgroud)

在其他情况下,我将B与其他情况.喜欢

 startActivityForResult(new Intent(this,B.class),TWO);
Run Code Online (Sandbox Code Playgroud)

在B中,我需要根据requestCode调用C或D. 即如果ONE需要启动C else D.
所以我需要知道如何检查子Activity中的requestCode(这里是B).
换句话说,我想获得活动B开始的请求代码.

android android-intent android-activity startactivityforresult

81
推荐指数
3
解决办法
6万
查看次数

Widget.AppCompat.Button colorButtonNormal显示为灰色

我有values:styles.xml:

<style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button">
    <item name="colorButtonNormal">@color/my_color</item>
    <item name="android:textColor">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

values-v21:styles.xml与:

<style name="AppTheme.Button" parent="Base.Widget.AppCompat.Button">
      <item name="android:colorButtonNormal">@color/my_color</item>
      <item name="android:textColor">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

和app风格搭配

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
      <item name="android:buttonStyle">@style/AppTheme.Button</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但颜色显得灰色而不是 @color/my_color

android android-appcompat

66
推荐指数
7
解决办法
5万
查看次数

android:在textView中适合DrawableLeft的高度

我试图在一个文本块旁边显示一条蓝线,非常像这样:

在此输入图像描述

这是我的代码:

<TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/blue_line" />
Run Code Online (Sandbox Code Playgroud)

blue_line是一个jpg文件.一个蓝色的矩形.无论textview中的文本如何,它都以原始大小显示.如何根据文字的高度动态调整其高度?比如当文字少量文字时缩短,文字更多时更长......

android drawable

26
推荐指数
3
解决办法
7万
查看次数

在CoordinatorLayout中包装所有布局是一个好习惯吗?

我正在考虑在我的应用中实现Android Snackbars的方法.基本上,我希望能够在应用程序的任何位置显示Snackbar.

正如我发现的那样,android.support.design.widget.Snackbar在投入时表现最佳android.support.design.widget.CoordinatorLayout.否则,我无法将其滑开,它显示在导航抽屉上,并且不与浮动操作按钮交互.

所以现在的问题是:这是一个很好的做法,总结我的所有布局CoordinatorLayout,得到的BaseActivity有它的参考,以便它可以从几乎任何地方传递到小吃吧?

这似乎是确保Snackbar和其他布局组件正常运行的可靠方法,但是......好吧,意味着触摸所有布局并具有一个BaseActivity,该BaseActivity由所有其他活动扩展,并且可以从任何想要显示的片段访问小吃吧.

有没有更好的办法?

android snackbar android-snackbar coordinator-layout android-coordinatorlayout

24
推荐指数
2
解决办法
1137
查看次数

OnTouch可以工作,但是OnClickListener没有?

我创建了一个小部件/控件,我可以重用我通过扩展创建的RelativeLayout.然后,在我的一个活动中,我在循环中创建了一堆这些小部件.但是,当我想让每个小部件响应一次点击时,我遇到了一个问题.

我发现设置OnTouchListener有效:

 this.setOnTouchListener(new OnTouchListener(){
        public boolean onTouch(View arg0, MotionEvent arg1) {
           //Triggers debug message
        }       
    });
Run Code Online (Sandbox Code Playgroud)

OnClickListener不是:

  this.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
           //Doesn't trigger debug message  
        }

    });
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

android ontouchlistener android-view onclicklistener

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

调试Android应用时出现InterruptedException

在Android Studio中进行调试时,在某些情况下,应用程序会崩溃并出现以下异常:

08-27 18:01:25.144  19241-24656/? E/AndroidRuntime? FATAL EXCEPTION: pool-7-thread-1
Process: com.callsign.android.dev, PID: 19241
java.lang.InterruptedException
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1991)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2025)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
        at java.lang.Thread.run(Thread.java:820)
Run Code Online (Sandbox Code Playgroud)

有时候是这样的

  • 只有在调试时
  • 仅在某些设备上(即Moto G,Nexus 4)

例如,在Oneplus One或Xperia L上不会发生这种情况.

我没有找到任何其他信息来帮助我们确定问题.遇到这个问题的其他人?

debugging android interrupted-exception

19
推荐指数
1
解决办法
1063
查看次数

Android JobScheduler:如果您使用定期时间安排相同的作业,它是否会再次开始这段时间?

如果我安排相同的定期工作(相同的工作ID)并且工作已经安排,会发生什么?它从一开始就再次开始吗?

例如,我将此方法调用两次:

JobInfo myLongJob = new JobInfo.Builder(
            JOB_ID,
            new ComponentName(context, JobSchedulerLongService.class.getName())
    ).setPeriodic(10000)
     .build();

    jobScheduler.schedule(myLongJob);
Run Code Online (Sandbox Code Playgroud)

第二次调度作业会导致周期性计时器再次开始计数吗?

android android-jobscheduler

18
推荐指数
1
解决办法
8689
查看次数

未找到名为“jvmMain”的 SourceSet

我正在尝试使用 jvm 和 js 源集运行 kotlin 多平台项目,但出现以下错误:

FAILURE: Build failed with an exception.

* Where:
Initialization script '/private/var/folders/yc/sdfads/T/Home_main__.gradle' line: 20

* What went wrong:
A problem occurred configuring root project 'kotlin-multiplatform'.
> Could not create task ':Home.main()'.
   > SourceSet with name 'jvmMain' not found.
Run Code Online (Sandbox Code Playgroud)

Home是一个类src/jvmMain/kotlin/Home.kt并且只有一个main()函数。

我尝试尽可能地遵循文档,我自己的代码并不多。我只是将jvmMain源集设置为依赖commonMain并添加更多的库。我的build.gradle

plugins {
    kotlin("multiplatform") version "1.3.72"
}

kotlin {
    jvm()
    js().browser()
//    android()

    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation(kotlin("stdlib-common"))
            } …
Run Code Online (Sandbox Code Playgroud)

gradle-kotlin-dsl kotlin-multiplatform

16
推荐指数
0
解决办法
4784
查看次数