无法以编程方式更改 android 布局文件元素的值

杯码

我的 android 项目中有一个 java 类,用于创建我的自定义对话框。但是当我想为我的自定义对话框布局文件设置文本或其他属性时,我不能!

当我使用 setText 在我的活动或自定义对话框 java 类中更改对话框布局的 textView 时,不会发生任何变化。

这是我的自定义对话框布局文件

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:background="@color/dark_primary"
android:layout_height="match_parent">

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="24dp"
    android:layout_marginStart="24dp"
    android:layout_marginTop="8dp"
    android:text="@string/alert"
    android:textSize="@dimen/alert_title_font_size"
    android:textColor="@android:color/white"
    android:fontFamily="@font/berlin_regular"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

这是我的对话框生成器 java 类:

package com.x.Dialog;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

import com.orhanobut.dialogplus.DialogPlus;
import com.orhanobut.dialogplus.OnItemClickListener;
import com.orhanobut.dialogplus.ViewHolder;
import com.x.x.R;

public class CustomAlertDialog {

public Context context;
public Activity activity;
public TextView textView;

public CustomAlertDialog(Context context, Activity activity, ViewHolder viewHolder){

    this.context = context;
    this.activity = activity;
    View dialogView = LayoutInflater.from(context).inflate(R.layout.alert_dialog_1, null);
    textView = dialogView.findViewById(R.id.textView);
    textView.setText("Test");
    DialogPlus dialog = DialogPlus.newDialog(this.context)
            .setContentHolder(viewHolder)
            .setOnItemClickListener(new OnItemClickListener() {
                @Override
                public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
                }
            })
            .setExpanded(true)  // This will enable the expand feature, (similar to android L share dialog)
            .create();
    dialog.show();
}
}

在上面的代码textView.setText("Test");中不起作用:它不会改变字段内容。我在 xml (@string/alert) 中设置的默认文本仍然显示!

阿德尔·特克

好吧,看看你正在使用的图书馆,我发现了这个 .setContentHolder(new ViewHolder(view))

所以改变你的代码

DialogPlus dialog = DialogPlus.newDialog(this.context)
        .setContentHolder(viewHolder)
        .setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
            }
        })
        .setExpanded(true)  // This will enable the expand feature, (similar to android L share dialog)
        .create();

  DialogPlus dialog = DialogPlus.newDialog(this.context)
        .setContentHolder(new ViewHolder(dialogView ))
        .setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
            }
        })
        .setExpanded(true)  // This will enable the expand feature, (similar to android L share dialog)
        .create();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android ViewStub以编程方式更改布局

来自分类Dev

Android以编程方式更改颜色资源值

来自分类Dev

android以编程方式更改按钮的样式值

来自分类Dev

如何在Android中以编程方式更改布局高度

来自分类Dev

以编程方式创建布局时,Android“无法为...扩展remoteViews”

来自分类Dev

如何更改以编程方式在android中插入的textview的值?

来自分类Dev

通过浮点值以编程方式更改视图高度(Android)

来自分类Dev

Android:Textview无法以编程方式显示设置的值

来自分类Dev

我无法以编程方式在Android中将chmod更改为777

来自分类Dev

Android以编程方式设计布局

来自分类Dev

无法使用useState以编程方式更改组件的值

来自分类Dev

以编程方式更改android:updatePeriodMillis

来自分类Dev

Android以编程方式更改方向?

来自分类Dev

为什么以编程方式为Android线性布局列设置权重无法正常工作?

来自分类Dev

为什么以编程方式为Android线性布局列设置权重无法正常工作?

来自分类Dev

Android,更改应用程序:以编程方式设置SwitchCompat的主题值

来自分类Dev

如何以编程方式在Android中居中GridLayout(不更改xml文件)?

来自分类Dev

以编程方式更改xml值

来自分类Dev

Android线性布局权重以编程方式

来自分类Dev

在Android中以编程方式设置布局的大小

来自分类Dev

以编程方式为Android布局充气

来自分类Dev

在Android中以编程方式更改形状颜色

来自分类Dev

以编程方式更改Android EditText的颜色

来自分类Dev

以编程方式更改Android Overflow菜单图标

来自分类Dev

Android以编程方式更改按钮的文本颜色

来自分类Dev

在ANDROID中以编程方式更改图像

来自分类Dev

android RelativeLayout以编程方式更改高度

来自分类Dev

Android:防止定向以编程方式更改

来自分类Dev

以编程方式更改Mac地址-Android

Related 相关文章

  1. 1

    Android ViewStub以编程方式更改布局

  2. 2

    Android以编程方式更改颜色资源值

  3. 3

    android以编程方式更改按钮的样式值

  4. 4

    如何在Android中以编程方式更改布局高度

  5. 5

    以编程方式创建布局时,Android“无法为...扩展remoteViews”

  6. 6

    如何更改以编程方式在android中插入的textview的值?

  7. 7

    通过浮点值以编程方式更改视图高度(Android)

  8. 8

    Android:Textview无法以编程方式显示设置的值

  9. 9

    我无法以编程方式在Android中将chmod更改为777

  10. 10

    Android以编程方式设计布局

  11. 11

    无法使用useState以编程方式更改组件的值

  12. 12

    以编程方式更改android:updatePeriodMillis

  13. 13

    Android以编程方式更改方向?

  14. 14

    为什么以编程方式为Android线性布局列设置权重无法正常工作?

  15. 15

    为什么以编程方式为Android线性布局列设置权重无法正常工作?

  16. 16

    Android,更改应用程序:以编程方式设置SwitchCompat的主题值

  17. 17

    如何以编程方式在Android中居中GridLayout(不更改xml文件)?

  18. 18

    以编程方式更改xml值

  19. 19

    Android线性布局权重以编程方式

  20. 20

    在Android中以编程方式设置布局的大小

  21. 21

    以编程方式为Android布局充气

  22. 22

    在Android中以编程方式更改形状颜色

  23. 23

    以编程方式更改Android EditText的颜色

  24. 24

    以编程方式更改Android Overflow菜单图标

  25. 25

    Android以编程方式更改按钮的文本颜色

  26. 26

    在ANDROID中以编程方式更改图像

  27. 27

    android RelativeLayout以编程方式更改高度

  28. 28

    Android:防止定向以编程方式更改

  29. 29

    以编程方式更改Mac地址-Android

热门标签

归档