将EditText传递给Toast

时间:2011-08-05 21:36:19

标签: android toast

我正在尝试编写一个简单的程序,它将获取一个editText的内容,并在单击一个按钮后将其传递给Toast。最初,这是一个教程,只需在单击按钮时显示Toast,但我想将EditText中的值传递给Toast的'text'参数。我在Eclipse中没有收到任何错误,但模拟器意外停止。

这是我的java代码:

package event.handling;

import android.app.Activity;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class HandlerExamples extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button)findViewById(R.id.testButton);
        button.setOnClickListener(this);
    }

    public void onClick(View v) {
        EditText text = (EditText)findViewById(R.id.edittext);
        Toast toast = Toast (text);
        toast.show();       
    }
private Toast Toast(EditText text) {
    // TODO Auto-generated method stub
    return null;
}
}

最终我将使用四种不同的EditText视图,只需添加一起输入的数字并在Toast中显示答案。

谢谢你的时间!

1 个答案:

答案 0 :(得分:5)

您从Toast方法返回null,然后调用此null对象,以便获得NullPointerException

它应该是这样的:

private Toast Toast(EditText text) {
    return Toast.makeText(this, text.getText().toString(), Toast.LENGTH_LONG);
}
顺便说一句,这是一个糟糕的命名,我建议private Toast toastFromEditText(EditText text)或类似的。