小编loe*_*chg的帖子

Android 中的自定义 EditText:如何在 XML 布局中引用?

我创建了一个名为 MyEditText(扩展 EditText)的自定义 EditText 对象,以便覆盖 onSelectionChanged(int start, int end) 方法。当我这样做并尝试在我的 XML 布局中引用这个对象类型时,我总是收到一个错误膨胀类消息。这是我目前拥有的:

<cse.intro.networking.security.MyEditText
     android:layout_width="match_parent" android:id="@+id/editText2"
     android:layout_height="match_parent" android:text="@string/editTextBoxInit">
</cse.intro.networking.security.MyEditText>
Run Code Online (Sandbox Code Playgroud)

我的EditText.java:

package cse.intro.networking.security;

import android.content.Context;
import android.util.Log;
import android.widget.EditText;

public class MyEditText extends EditText {
    private final String tag = "SimpleGUI";
    public MyEditText(Context context) {
        super(context);
    }

    @Override
    public void onSelectionChanged(int selStart, int selEnd) {
        Log.v(tag, "onSelectionChanged!");
    }

}
Run Code Online (Sandbox Code Playgroud)

xml layout android android-custom-view android-edittext

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

与Grails持续集成

您建议在Grails + Tomcat(+ Ubuntu)环境中持续集成什么工具?詹金斯?哈德森?别的什么?我不是在寻找任何复杂的东西......简单就可以了.

grails continuous-integration hudson tomcat6 jenkins

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

如何更改vim中未使用的背景颜色?

如何更改vim编辑器的未使用/底部部分?这张照片有望澄清我可怕的描述:).

vim编辑截图

vim highlight

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

Android Espresso - java.lang.OutOfMemoryError:超出GC开销限制

当我在我的项目中包含espresso快照jar时,我的gradle编译挂起然后踢出以下消息:

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.Arrays.copyOf(Arrays.java:2219)
    at java.util.ArrayList.toArray(ArrayList.java:358)
    at java.util.ArrayList.<init>(ArrayList.java:164)
    at com.android.dx.ssa.SsaMethod.getUseListCopy(SsaMethod.java:660)
    at com.android.dx.ssa.ConstCollector.updateConstUses(ConstCollector.java:333)
    at com.android.dx.ssa.ConstCollector.run(ConstCollector.java:147)
    at com.android.dx.ssa.ConstCollector.process(ConstCollector.java:75)
    at com.android.dx.ssa.Optimizer.runSsaFormSteps(Optimizer.java:181)
    at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:99)
    at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
    at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:303)
    at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
    at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
    at com.android.dx.command.dexer.Main.processClass(Main.java:682)
    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
    at com.android.dx.command.dexer.Main.access$600(Main.java:78)
    at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
    at com.android.dx.command.dexer.Main.processOne(Main.java:596)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)
:Project:dexFlavorEnterpriseDebug FAILED
Run Code Online (Sandbox Code Playgroud)

根据我的研究,这听起来像是一个依赖性问题.你会怎么建议我去解决这个问题?

我尝试碰撞堆空间(-Xmx2048),但是在我的计算机变得越来越热但未完成时,构建运行了很长一段时间(几分钟).没有这个jar,编译永远不会超过一分钟.

memory android garbage-collection jar android-espresso

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

在RecyclerView中回收时,项目视图无法正确测量

我有一个场景,当视图被回收时,布局是不正确的.我的行项目布局如下(注意wrap_contentLinearLayout宽度weight,,和ellipsize):

     <LinearLayout
          android:id="@+id/header"
          android:layout_width="wrap_content"       
          android:layout_height="wrap_content"    
          android:orientation="horizontal"
          >
        <TextView
            android:id="@+id/text1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"               
            android:ellipsize="middle"
            android:singleLine="true"
            tools:text="Ann really freaking long last name Droid"
            />
        <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
        <TextView
            android:id="@+id/text3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
      </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

期望的行为

    row1 | 1-short-text | 2-text | 3-more-text
    ----------------------------------------------------
    row2 | 1-short-text | 2-text | 3-more-text
    ----------------------------------------------------
    row3 | 1-long-ellipsiz...text | 2-text | 3-more-text
    ----------------------------------------------------
    row4 | 1-tiny | 2-text-longer | 3-more-text-blah
    ----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

实际行为

    row1 | 1-...et | 2-text | 3-more-text …
Run Code Online (Sandbox Code Playgroud)

android android-linearlayout android-recyclerview

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

"即使我宣布,也没有为一个班级注册注册"

我是Dagger的新手,并试图找出为什么没有注入特定的依赖.尝试在片段中注入Presenter时出现以下错误:

Caused by: java.lang.IllegalArgumentException: No inject registered for members/com.company.myapp.view.fragment.OverviewFragment. You must explicitly add it to the 'injects' option in one of your modules.
            at dagger.ObjectGraph$DaggerObjectGraph.getInjectableTypeBinding(ObjectGraph.java:302)
            at dagger.ObjectGraph$DaggerObjectGraph.inject(ObjectGraph.java:279)
            at com.company.myapp.view.fragment.OverviewFragment.initializePresenter(OverviewFragment.java:50)
            at com.company.myapp.view.fragment.BaseFragment.onViewCreated(BaseFragment.java:28)
            at com.company.myapp.view.fragment.OverviewFragment.onViewCreated(OverviewFragment.java:84)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:871)
            at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
            at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
            at android.app.Activity.onCreateView(Activity.java:4786)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
            at android.app.Activity.setContentView(Activity.java:1929)
            at com.company.myapp.view.activity.HomeActivity.onCreate(HomeActivity.java:23)
            at android.app.Activity.performCreate(Activity.java:5231)
Run Code Online (Sandbox Code Playgroud)

...

我有一个ApplicationModule,它可以提供必要的应用程序范围的模块(例如分析).

@Module(
        injects = {
                BaseApplication.class,
                MyApplication.class,
                TestMyApplication.class
        },
        includes = { DomainModule.class }
)
public class MyModule {
    private …
Run Code Online (Sandbox Code Playgroud)

java mvp android dependency-injection dagger

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

当用户快速/重复点击按钮时,我是否负责处理?

作为Android开发人员,我是否负责处理用户快速重复地按下按钮的情况?或者这被认为是用户滥用?从后端的数据角度来看,没有什么不好的事情发生.

我有一个按钮,选择后进行服务器调用.一旦服务器响应,就会从返回的消息中生成一个活动(使用处理程序).在某些情况下,如果用户反复地混淆按钮,重复的活动可以开始堆叠并且可能导致糟糕的用户体验(即,用户可能需要多次点击后退按钮才能返回到前一个屏幕)

编辑:我遗漏了一些细节.现在正在等待服务器响应时显示一个微调器对话框.这会拦截所有点击.问题在于,在某些情况下,解雇微调器和启动新活动之间的时间足够长,以便用户进行更多点击.

现在我正在禁用按钮,但似乎有点黑客可能有更好的解决方案.

android android-networking android-activity

0
推荐指数
2
解决办法
138
查看次数