java - 无法从我的 fragment 中的自定义对话框中获取字符串值

标签 java android android-layout android-fragments

我有我的 fragment ,用户可以在其中将点发送给另一个用户,现在我需要创建自定义对话框,用户需要在其中重新输入他的 pin。我按照几个教程完成了它,但值始终为空;

    public void onViewCreated(View view, Bundle savedInstanceState) {
    LayoutInflater inflater = LayoutInflater.from(getContext());
    View confirmation=inflater.inflate(R.layout.confirmation,null);
    pin  = (EditText) confirmation.findViewById(R.id.PinChecker);

    }


    SendPointsButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

            builder.setView(R.layout.confirmation);

            builder.setPositiveButton("DA", new    DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    pinCheck= String.valueOf(pin.getText().toString());
                    Log.d("Pin",pinCheck);
} 

我想将 pin(EditText) 的值赋给名为 pinCheck 的字符串;

最佳答案

我认为您应该将膨胀的布局(确认)传递给 builder.setView(),如下所示:

  final View confirmation=inflater.inflate(R.layout.confirmation,null);
  pin  = (EditText) confirmation.findViewById(R.id.PinChecker);

....


SendPointsButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

        builder.setView(confirmation);

        builder.setPositiveButton("DA", new    DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                pinCheck= String.valueOf(pin.getText().toString());
                Log.d("Pin",pinCheck);
} 

希望这会有所帮助。

关于java - 无法从我的 fragment 中的自定义对话框中获取字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37970176/

相关文章:

android - 布局内部的 LinearLayout 与父级不匹配

android - 如何在 styles.xml 中列出 <item name ="app:fabSize">[value]</item>?

java - 字符串数组的返回语句给出奇怪的结果

java - Camel Splitter 产生 NotifyBuilder 看到的完成交换数量不正确?

java - edittext在输入类型android studio中设置有限字符

android - 如何解决 org.xmlpull.v1.XmlPullParserException : unexpected type (position:END_DOCUMENT null@1:1 in java. io.InputStreamReader@40d310f0)

Android:像 Whatsapp 一样在没有 GPU OverDraw 的情况下绘制背景

java - playframework:模型管理

java - 集成外部纯 Java 库并让 Android 类访问它

android - 电晕与 Xamarin?我应该拿起什么?