吐司不能正常工作

时间:2016-03-11 18:56:43

标签: android toast

我在Android Studio中创建了一个应用程序;它工作正常,但Toast没有正常显示。

感谢任何帮助。

这是我的代码:

MainActivity.java

public class MainActivity extends Activity {

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

    Button btn = (Button) findViewById(R.id.btn);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(MainActivity.this, NextActivity.class);

            startActivity(intent);
        }
    });
}
}

activity_main.xml中

<Button
    android:id="@+id/btn"
    android:text="click"
    android:layout_gravity="center_vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

NextActivity.java

public class NextActivity extends Activity {

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

    final EditText fName= (EditText) findViewById(R.id.txt);
    final EditText lName= (EditText) findViewById(R.id.txt1);
    Button btn1 = (Button) findViewById(R.id.btn1);

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Toast.makeText(getApplicationContext(),"Hi there!, "+fName+ " " + " "+ lName, Toast.LENGTH_SHORT).show();
        }
    });

}

}

activity.next.xml

<EditText
    android:id="@+id/txt"
    android:hint="Enter your first name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_marginTop="110dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<EditText
    android:id="@+id/txt1"
    android:hint="Enter your last name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

<Button
    android:id="@+id/btn1"
    android:text="Submit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txt1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="69dp" />

2 个答案:

答案 0 :(得分:3)

别忘了TextView.getText()

NextActivity.java

public class NextActivity extends Activity {

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

    final EditText fName= (EditText) findViewById(R.id.txt);
    final EditText lName= (EditText) findViewById(R.id.txt1);
    Button btn1 = (Button) findViewById(R.id.btn1);

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override 
        public void onClick(View v) {

            Toast.makeText(getApplicationContext(),"Hi there!, "+fName.getText().toString()+ " " + " "+ lName.getText().toString(), Toast.LENGTH_SHORT).show();
        } 
    }); 

} 

} 

答案 1 :(得分:1)

我假设您要添加EditText s的文字内容 - 您看到的字母和数字序列是默认Object toString()的结果:

  

public String toString ()

     

在API级别1中添加返回包含简洁的字符串,   人类可读的对象描述。鼓励子类   重写此方法并提供一个实现   记录对象的类型和数据。默认实现是   相当于以下表达式:

     

getClass().getName() + '@' + Integer.toHexString(hashCode())

如果您想抓取EditText小部件的内容,请改为editText.getText().toString()