0

我想做一个吐司,在里面放了 EditText 和一个按钮 ..但是我不能在 EditText 中输入任何内容,我也不能单击按钮如何在 toast 所查看的 EditText 中写入内容..

public class MainActivity extends Activity 
{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button New=(Button)findViewById(R.id.button1);
        Button save=(Button)findViewById(R.id.button3);
        EditText ed1=(EditText)findViewById(R.id.editText1);

        final Toast t=new Toast(getApplicationContext());
        New.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub


            ListView l=new ListView(getApplication());
            l.setAdapter(new badp(getApplicationContext()));

            t.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

            t.setView(l);
            t.setDuration(Toast.LENGTH_LONG);
            t.show();
            }
        });


    }
    public class badp extends BaseAdapter
    {

        Context context;
        private badp(Context context) {
            // TODO Auto-generated constructor stub
            this.context=context;
        }

        public int getCount() {
            // TODO Auto-generated method stub
            return 1;
        }

        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }

        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return 0;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            LinearLayout l=new LinearLayout(context);
            Button b1=new Button(context);
            b1.setText("Save");
            EditText ed=new EditText(context);
            ed.setGravity(Gravity.CENTER);
         //   LayoutParams lparams = new LayoutParams();
           //     ed.setLayoutParams(lparams);
                ed.setWidth(5);
                ed.setEms(10);


            l.addView(ed);
            l.addView(b1);

            return l;
        }

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }


}
4

2 回答 2

5

您可能应该使用 Dialog 而不是 Toast。

Dialog 是为更具交互性的弹出窗口而设计的,而 toast 的真正设计目的是显示快速文本消息。

于 2012-08-09T12:57:59.410 回答
1

我真的不认为你应该为这种用户界面使用祝酒词。如果您查看文档,它会说:

Toast 通知是在窗口表面弹出的消息。它仅填充消息所需的空间量,并且用户当前的活动保持可见和交互。通知自动淡入淡出,不接受交互事件。

吐司通知

你想要的可能是一个 对话框

于 2012-08-09T12:58:29.817 回答