onClickListener无法正常工作

时间:2015-01-31 12:25:57

标签: java android onclicklistener

   <FrameLayout
    android:id="@+id/comment_container"
    android:layout_width="match_parent"
    android:layout_height="271dp">

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add Comment"
        android:id="@+id/comment_add"
        android:layout_gravity="right|top"
        android:clickable="true"
        android:enabled="true" />

    <EditText
        android:layout_width="253dp"
        android:layout_height="48dp"
        android:id="@+id/comment_text"
        android:layout_gravity="left|top"
        android:editable="true"
        android:enabled="true" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="218dp"
        android:layout_gravity="center_horizontal|bottom">

    </FrameLayout>

</FrameLayout>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add Comment"
            android:id="@+id/comment_add"
            android:layout_gravity="right|bottom" />

        <EditText
            android:layout_width="253dp"
            android:layout_height="48dp"
            android:id="@+id/comment_text"
            android:layout_gravity="left|bottom" />

    </FrameLayout>

并且framelayout包含相对布局,无论如何都在活动代码中:

addComment = (Button) findViewById(R.id.comment_add);
        txtComment = (TextView) findViewById(R.id.comment_text);
addComment.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                addTheComment();

            }
        });
  public void addTheComment() {


        Meal meal=new Meal();

      if(txtComment.getText().toString()!=null){
            meal.setComment(txtComment.getText().toString());
           Toast.makeText(this ,"adding the comment..." , Toast.LENGTH_SHORT);
       }else{
            Toast.makeText(this ,"the comment field is empty" , Toast.LENGTH_SHORT);
       }

    }

我导入了android视图,然后你可以看到我做了一个setonclicklistiner然后在活动中添加了ask()方法,我试图从edittext中获取文本并将其存储到Meal Class(Parse.com)中,但是当我按下模拟器中的按钮时没有得到任何东西,就像onclick本身正在工作但没有发生任何事情

1 个答案:

答案 0 :(得分:2)

addthecomment()中,您希望根据条件显示Toast消息。但是消息对用户不可见,因为您忘记拨打Toast.show()。这样做:

   if(txtComment.getText().toString()!=null){
        ....
       Toast.makeText(this ,"adding the comment..." ,
           Toast.LENGTH_SHORT).show();
   }else{
        Toast.makeText(this ,"the comment field is empty" , 
                   Toast.LENGTH_SHORT).show();
   }