【问题标题】:EditText inside Toast in android?android中Toast中的EditText?
【发布时间】:2014-06-09 03:19:21
【问题描述】:

我正在创建一个应用程序,我必须在其中显示具有 EditText 的 toast。是否可以在 toast 中创建 EditText ?

【问题讨论】:

  • 为此使用对话框
  • 显示一个有 EditText 的 toast...嗯。试着改写你的问题。您希望 EditText 具有什么“吐司”功能?

标签: android android-edittext android-toast


【解决方案1】:

如果我没记错的话,Toast 不是一个能获得焦点的视图。你指的是一个对话框。

【讨论】:

    【解决方案2】:

    您必须使用提示用户输入对话框。

    步骤:

    创建提示对话框布局 XML 文件。 将提示对话框布局附加到 AlertDialog.Builder。 将 AlertDialog.Builder 附加到 AlertDialog。

    你的布局/main_activity.xml

     <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >
    
            <Button
                android:id="@+id/buttonPrompt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Show Prompt Dialog" />
    
            <EditText
                android:id="@+id/editTextResult"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
    
            </EditText>
    
        </LinearLayout>
    

    创建布局/promtps.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/layout_root"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:padding="10dp" >
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Type Your Message : "
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <EditText
            android:id="@+id/editTextDialogUserInput"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
    
            <requestFocus />
    
        </EditText>
    
    </LinearLayout>
    

    您的 MainActivity:

    public class MainActivity extends Activity {
    
        final Context context = this;
        private Button button;
        private EditText result;
    
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            // components from main.xml
            button = (Button) findViewById(R.id.buttonPrompt);
            result = (EditText) findViewById(R.id.editTextResult);
    
            // add button listener
            button.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
    
                    // get prompts.xml view
                    LayoutInflater li = LayoutInflater.from(context);
                    View promptsView = li.inflate(R.layout.prompts, null);
    
                    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                            context);
    
                    // set prompts.xml to alertdialog builder
                    alertDialogBuilder.setView(promptsView);
    
                    final EditText userInput = (EditText) promptsView
                            .findViewById(R.id.editTextDialogUserInput);
    
                    // set dialog message
                    alertDialogBuilder
                        .setCancelable(false)
                        .setPositiveButton("OK",
                          new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,int id) {
                            // get user input and set it to result
                            // edit text
                            result.setText(userInput.getText());
                            }
                          })
                        .setNegativeButton("Cancel",
                          new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,int id) {
                            dialog.cancel();
                            }
                          });
    
                    // create alert dialog
                    AlertDialog alertDialog = alertDialogBuilder.create();
    
                    // show it
                    alertDialog.show();
    
                }
            });
        }
    }
    

    【讨论】:

    • 请评价我的 que .. :)
    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 2019-04-29
    • 2017-11-01
    • 2011-07-15
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多