Android:EditText.getText()。toString什么都不返回

时间:2013-03-22 20:01:50

标签: android onclick android-edittext

我希望从onClick方法的edittext视图中获取值,但是在检索EditText的id时似乎存在一些问题。 这是我的代码:

public class CreateEvent extends Activity{
    Button cbutton;
    EditText title;

    protected void onCreate(Bundle savedInstancesState){
        super.onCreate(savedInstacesState);
        setContentView(R.layout.create_event_layout);

        cbutton = (Button)this.findViewById(R.id.cbutton);
        title = (EditText)this.findViewById(R.id.title);

        cbutton.setOnClickListener(new Button.OnClickListener()
        {
            public void onClick(View v){
                Log.v("title", title.getText().toString());
        });
    }
}

此外,我尝试将标题的启动移至onClick,仍然没有返回。 不知道该怎么做。

这是布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width = "fill_parent"
android:layout_width = "fill_parent"
android:oriention = "vertical">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/title"
    />
    <EditText
        android:id="@+id/title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:hint="@string/title"
    />
</LinearLayout>

我很确定我的布局文件没有任何问题。

4 个答案:

答案 0 :(得分:1)

//你的布局没有错误

您忘记在那里声明按钮(R.id.cbutton)

答案 1 :(得分:0)

试试这个:

public class MainActivity extends Activity {

Button cbutton;
EditText title;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    cbutton = (Button)this.findViewById(R.id.button1);
    title = (EditText)this.findViewById(R.id.editText1);

    cbutton.setOnClickListener(new Button.OnClickListener()
    {
        public void onClick (View v){
            Log.v("title", title.getText().toString()); 
        }
        }//missing i think 
            );


}

答案 2 :(得分:0)

您的布局文件中没有此ID为

的按钮
cbutton = (Button)this.findViewById(R.id.cbutton);

在你的布局文件中,我没有看到id cbutton。也把这个检查

 String value = title.getText().toString();
if(edittext.length==0){ Log.d("null","the valueis null")};

答案 3 :(得分:0)

我会检查该视图是否具有正确的ID

if (v.getId() == title.getId())
{
   Log.v("title", title.getText().toString()); 
}

并且该按钮未在XML文件中定义,还是在另一个XML文件中?