-2

我使用 Toast 来显示一些消息,但遇到了一些问题。有我的代码:

  private Button btPush;
    private EditText etxMessage;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btPush = (Button) findViewById(R.id.btPushMe);
        btPush.setOnClickListener(sayHello);

        etxMessage = (EditText) findViewById(R.id.editText1);
    }

    View.OnClickListener sayHello = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            LayoutInflater inflated = getLayoutInflater();
            View layout = inflated.inflate(R.layout.activity_main,(ViewGroup) findViewById(R.id.layout));
            String string = etxMessage.getText().toString();
            Toast toast = new Toast(getApplicationContext());
            toast.setText(string);
            toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
            toast.setDuration(Toast.LENGTH_LONG);
            toast.setView(layout);
            toast.show();
            //Toast.makeText(getApplicationContext(),string,Toast.LENGTH_SHORT).show();
        }
    };

如果我使用:

Toast.makeText(getApplicationContext(),string,Toast.LENGTH_SHORT).show();

有用!

4

5 回答 5

1

Toast.makeText(YourActivity.this,"你的文字在这里", Toast.LENGTH_LONG).show();

于 2013-01-04T10:30:22.917 回答
0

尝试这个:

LayoutInflater inflated = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflated.inflate(R.layout.activity_main, null);
于 2013-01-04T08:04:54.317 回答
0

你可以试试这个..如果错误仍然存​​在,然后粘贴你的 log-cat 输出,我们很容易给你答案

      Toast msg = Toast.makeText(ToastExample.this,"YOUR TEXT HERE", Toast.LENGTH_LONG);     
   msg.show();
于 2013-01-04T08:03:26.590 回答
0

尝试像这样膨胀的布局:

LayoutInflater inflated = LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);     
View layout = inflated.inflate(R.layout.activity_main, null);
于 2013-01-04T08:07:46.453 回答
0

使用 Toast 显示消息的多种方法...

使用 Toast 对象 ...
Toast toast = new Toast(YourClassName.this);

或尝试从单击事件显示然后使用此代码...但是此“v”是 View 的对象。

Toast toast = new Toast(v.getContext());

或者

下面的代码你可以在 YourActivityClass 的任何地方使用...
Toast.makeText(YourClassName.this,"Your Message",Toast.LENGTH_LONG).show();

于 2015-04-17T10:53:16.170 回答