我在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" />
答案 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()