小编Rep*_*tor的帖子

尝试在空对象引用上调用虚方法'int android.text.Layout.getLineCount()'

我随机获得空指针异常,通常它工作,有时它崩溃,我搜索了很多,但没有得到任何帮助,因为它没有正确的线从我得到任何帮助,

我也在使用处理程序.

我的logcat错误如下,代码添加在它下面,

 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.text.Layout.getLineCount()' on a null object reference
 at android.widget.TextView.onMeasure(TextView.java:6703)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
 at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
 at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
 at android.view.View.measure(View.java:17547)
 at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727)
 at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
 at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
 at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
 at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
 at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
 at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
 at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
 at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
 at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615)
 at android.view.View.measure(View.java:17547)
 at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015)
 at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1173)
 at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379) …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception textview android-handler

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

第一次发出 kotlin 协程后,MutableStateFlow 不发出值

这是我的 FirebaseOTPVerificationOperation 类,其中定义了我的 MutableStateFlow 属性,并更改了值,

    @ExperimentalCoroutinesApi
class FirebaseOTPVerificationOperation @Inject constructor(
    private val activity: Activity,
    val logger: Logger
) {
    private val _phoneAuthComplete = MutableStateFlow<PhoneAuthCredential?>(null)
    val phoneAuthComplete: StateFlow<PhoneAuthCredential?>
        get() = _phoneAuthComplete

    private val _phoneVerificationFailed = MutableStateFlow<String>("")
    val phoneVerificationFailed: StateFlow<String>
        get() = _phoneVerificationFailed

    private val _phoneCodeSent = MutableStateFlow<Boolean?>(null)
    val phoneCodeSent: StateFlow<Boolean?>
        get() = _phoneCodeSent

    private val _phoneVerificationSuccess = MutableStateFlow<Boolean?>(null)
    val phoneVerificationSuccess: StateFlow<Boolean?>
        get() = _phoneVerificationSuccess

    fun resendPhoneVerificationCode(phoneNumber: String) {
        _phoneVerificationFailed.value = "ERROR_RESEND"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的视图模式,我在那里监听 stateflow 属性的变化,如下所示,

class OTPVerificationViewModal @AssistedInject constructor(
    private …
Run Code Online (Sandbox Code Playgroud)

kotlin kotlin-coroutines kotlin-coroutines-flow kotlin-coroutine-channel

14
推荐指数
4
解决办法
8666
查看次数

CheckedTextView的中心文本和复选标记

我实现的布局如下图所示:

在此输入图像描述

我使用的代码是:

 <CheckedTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/big_green_btn_normal"
        android:checkMark="@drawable/check_circle"
        android:gravity="center_vertical"
        android:text="@string/register_tempClickStaffingAgreement" />
Run Code Online (Sandbox Code Playgroud)

这就是我想要的,如下图所示:

在此输入图像描述

分享一些想法来定制它,但不是自定义线性或任何其他布局..我想要一个自定义视图或checkedTextView ...任何帮助将不胜感激.

谢谢..!!

android textview android-custom-view checkedtextview

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

带有Scrapped或附加视图的GapWorker可能无法回收.isScrap:false isAttached:true

当我滚动我的recyclerview太快时,我得到了以下崩溃

 java.lang.IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true
                                                                 at android.support.v7.widget.RecyclerView$Recycler.recycleViewHolderInternal(RecyclerView.java:5659)
                                                                 at android.support.v7.widget.RecyclerView$Recycler.recycleView(RecyclerView.java:5603)
                                                                 at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:277)
                                                                 at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:324)
                                                                 at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:337)
                                                                 at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:344)
                                                                 at android.support.v7.widget.GapWorker.run(GapWorker.java:370)
                                                                 at android.os.Handler.handleCallback(Handler.java:739)
                                                                 at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                 at android.os.Looper.loop(Looper.java:148)
                                                                 at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我的所有努力,并在stackoverflow上得到类似的问题,但没有一个像下面的链接一样有用,

链接1

链接2

链接3

链接4

链接5

我不知道它发生在哪里的崩溃.任何帮助将不胜感激.我既不使用"android:animateLayoutChanges ="true"

基本上我曾尝试合并这两个不同的GitHub项目,

RV-适配器状态

RV-适配器不已

我的文件链接如下,来自pastbin,

行布局

回收者代码

我的适配器从两个不同的rv适配器合并

主适配器

android android-viewholder recycler-adapter android-recyclerview

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

在Enum中不是常数

我使用切换案例枚举,但我收到以下错误:

NEWS FEED在FragmentName中不是常量

这是我的枚举字符串常量,

 public enum FragmentName{
        FRAGMENT_NEWSFEED("NEWS FEED"),
        FRAGMENT_MESSAGES("MESSAGES"),
        FRAGMENT_EVENTS("EVENTS"),
        FRAGMENT_WHOISAROUDNME("WHOS AROUND");

        private final String text;
        private FragmentName(final String text) {
            this.text = text;
        }
        @Override
        public String toString() {
            return text;
        }
    }

//This is my function from where i check for corresponding enum constant

 public void changeTitle(String title) {
        switch (Enums_String.FragmentName.valueOf(title)) {
            case FRAGMENT_NEWSFEED:
                System.out.println("1");
                break;
            case FRAGMENT_EVENTS:
                System.out.println("2");
                break;
            case FRAGMENT_MESSAGES:
                System.out.println("3");
                break;
            case FRAGMENT_WHOISAROUDNME:
                System.out.println("4");
                break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我打电话的时候

     changeTitle("NEWS FEED");
Run Code Online (Sandbox Code Playgroud)

它会在changeTitle函数中创建一个异常,即使传递的值是相同的,所以任何帮助都会受到赞赏,因为我已尽力解决这个问题.

java enums enumeration

5
推荐指数
2
解决办法
4815
查看次数

在折叠时将图像设置为标题CollapsingToolbarLayout

我想把图像粘贴CollapsingToolbarLayout在折叠时的背景上.我能够以展开的形式显示图像CollapsingToolbarLayout但是当折叠的图像消失时,我想要以下GIF图像的效果:

图片

我的结构如下:

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="192dp"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="@color/colorGreen"
        app:expandedTitleMarginBottom="32dp"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">


            <ImageView
                android:id="@+id/prof_img_picBackground"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@mipmap/ic_launcher"
                ndroid:fitsSystemWindows="true"
            app:layout_collapseMode="pin"/>



        <android.support.v7.widget.Toolbar
            android:id="@+id/anim_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView
    android:id="@+id/scroll"
    style="@style/overscroll_remove"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,提前感谢.

android android-toolbar android-collapsingtoolbarlayout

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

从SD卡或Android中的任何应用程序中选择docx,doc,rtf,pdf类型的文件

目前我正在尝试从SD卡或任何应用程序中选择特定类型的文件,但我失败了,我的代码如下,

Intent intent;
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT)
            intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        else
            intent = new Intent(Intent.ACTION_GET_CONTENT);

        intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("application/pdf|application/msword|application/vnd.openxmlformats-officedocument.wordprocessingml.document" +
                "|application/vnd.openxmlformats-officedocument.wordprocessingml.template" +
                "|application/vnd.ms-word.document.macroEnabled.12" +
                "|application/vnd.ms-word.template.macroEnabled.12" +
                "!application/vnd.ms-word.template.macroEnabled.12|application/rtf");

        startActivityForResult(intent, Constants.ImagePicker.REQ_PICK_RESUME);
Run Code Online (Sandbox Code Playgroud)

但它只选择每种类型的文件.

android document android-intent android-gallery android-external-storage

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

rtl 如何与 Android 中的自定义视图或画布配合使用

我只是想知道,Android 如何在 RTL 模式下使用自定义视图画布。与此示例一样,问题链接

它适用于英语语言环境,但当语言环境更改为阿拉伯语时,其文本(+)消失。

所以我不想要答案,我基本上想知道 RTL 画布是如何工作的。

android canvas android-custom-view right-to-left

5
推荐指数
0
解决办法
404
查看次数

如果没有 @Provides 注释的方法,则无法提供 android.content.Context

在 hilt 更新到 2.32-alpha 后,我收到以下错误。

\n

即使提供了相关元素后,它仍然在抱怨。\n我很确定它与范围有关,但无法对其进行排序,日志如下,

\n
  ^C:\\Users\\VikramSingh\\Desktop\\work\\Mine\\mobiquity\\app\\build\\generated\\source\\kapt\\debug\\reprator\\mobiquity\\MobiQuityApp_HiltComponents.java:145: error: [Dagger/MissingBinding] @dagger.hilt.android.qualifiers.ActivityContext android.content.Context cannot be provided without an @Provides-annotated method.\n public abstract static class SingletonC implements HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint,\n                     ^\n A binding with matching key exists in component: reprator.mobiquity.MobiQuityApp_HiltComponents.ActivityC\n  @dagger.hilt.android.qualifiers.ActivityContext android.content.Context is injected at\n      reprator.mobiquity.addcity.di.AddCityModule.provideGeoCoder(context)\n  android.location.Geocoder is injected at\n      reprator.mobiquity.addcity.di.AddCityModule.provideReverseGeoCoding(geoCoder)\n  reprator.mobiquity.addcity.ReverseGeoCoding is injected at\n      reprator.mobiquity.addcity.AddLocationViewModal(\xef\xbf\xbd, reverseGeoCoding, \xef\xbf\xbd)\n  reprator.mobiquity.addcity.AddLocationViewModal is injected at\n      reprator.mobiquity.addcity.AddLocationViewModal_HiltModules.BindsModule.binds(arg0)\n  @dagger.hilt.android.internal.lifecycle.HiltViewModelMap java.util.Map<java.lang.String,javax.inject.Provider<androidx.lifecycle.ViewModel>> is requested at\n      dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.ViewModelFactoriesEntryPoint.getHiltViewModelMap() [reprator.mobiquity.MobiQuityApp_HiltComponents.SingletonC ? reprator.mobiquity.MobiQuityApp_HiltComponents.ActivityRetainedC ? reprator.mobiquity.MobiQuityApp_HiltComponents.ViewModelC][WARN] Incremental annotation processing requested, but support is disabled because …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection kotlin dagger-2 dagger-hilt

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

RTL 支持自定义编辑文本以绘制左侧

我有一个edittext,其中一个图像可绘制,左侧带有不可编辑的前缀editext,但现在我想让它支持rtl。尽管我付出了努力,但我还是无法支持 rtl。

我的自定义类如下,

public class PrefixedEditText extends TextInputEditText {

private String mPrefix = "+"; // can be hardcoded for demo purposes
private Rect mPrefixRect = new Rect(); // actual prefix size

public PrefixedEditText(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    getPaint().getTextBounds(mPrefix, 0, mPrefix.length(), mPrefixRect);
    mPrefixRect.right += getPaint().measureText(" "); // add some offset

    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawText(mPrefix, super.getCompoundPaddingLeft(), getBaseline(), getPaint());
}

@Override
public int getCompoundPaddingLeft() { …
Run Code Online (Sandbox Code Playgroud)

android android-custom-view right-to-left android-edittext android-canvas

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

在RecyclerView OnCreateViewHolder中以编程方式创建或扩充视图

基本上我想创建一个布局或以编程方式用a夸大布局RecyclerView,但是无法这样做.我知道如何通过膨胀来处理xml,但出于好奇,我想以编程方式进行操作.

我的适配器代码如下:

public class ACShare extends RecyclerView.Adapter<ACShare.VHShare>{

    private List<Integer> listDrawalbe;

    public ACShare(Context context) {
        TypedArray drawables = context.getResources().obtainTypedArray(R.array.s_array_contact_us_share);
        listDrawalbe=new ArrayList<>();
        for (int i = 0; i <  drawables.length(); ++i)
            listDrawalbe.add( drawables.getResourceId(i, -1));
    }

    @Override
    public VHShare onCreateViewHolder(ViewGroup parent, int viewType) {
        return new VHShare(LayoutInflater.from(parent.getContext()).inflate(-1,parent,false));
    }

    @Override
    public void onBindViewHolder(VHShare holder, int position) {
        holder.imageView.setImageResource(listDrawalbe.get(position));
    }


    public class VHShare extends RecyclerView.ViewHolder
    {
        public ImageView imageView;
        public LinearLayout ll;

        public VHShare(View itemView) {
            super(itemView);

            Context context= GeneralFunction.getActivity(itemView);


            ll = new …
Run Code Online (Sandbox Code Playgroud)

android layout-inflater android-recyclerview

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

在android 5.0下面更改alertDialog的标题颜色

我创建了一个AlertDialog并且想要更改AlertDialog的标题颜色但是在每次尝试中都失败了.它的工作原理很细上Android 5.0与标题颜色和上面为黑色,但是当它运行下面的是Android 5.0,它的标题颜色获取的变成白色,我用了风格和许多其他来源来自互联网但失败了,我的代码如下,

AlertDialog.Builder builder = new AlertDialog.Builder(context);
    builder.setMessage(msg)
            .setCancelable(true)
            .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int id) {
                    dialog.dismiss();
                }
            });

    final AppCompatDialog dialog = builder.create();
    dialog.setTitle("VALIDATION_TITLE error");
    dialog.setCancelable(false);
    dialog.show();
Run Code Online (Sandbox Code Playgroud)

我的问题通过以下方式得到解决,

dialog.setTitle( Html.fromHtml("<font color='#FF7F27'>Set IP Address</font>"))
Run Code Online (Sandbox Code Playgroud)

但我不想用这个,任何帮助都会非常感激.您可以通过此聊天链接查看我的对话框的屏幕截图

android android-alertdialog android-dialog

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