2016-03-11 72 views
0

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

任何帮助表示赞赏。

这里是我的代码:

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

请解释,详细,什么“的吐司没有正常显示“的意思。 – CommonsWare

+0

当我在第二个活动中输入名字和姓氏并按下提交按钮时,显示的是烤面包的文字是“Hi there!”。其余的是一堆标志和信件。没有显示“fName”和“lName”的部分。 – Ehsan

+0

fName和iName是EditText对象。如果你想得到字符串,你应该做'fName.getText()。toString()' – horro

回答

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

敬酒现在工作正常,非常感谢! – Ehsan

1

我假设你想添加您的EditText S的文本内容 - 字母顺序和你看到的数字是默认的结果ObjecttoString()

public String toString()

在API级别1中添加返回一个字符串,其中包含该对象的简明易懂的 人类可读描述。鼓励子类 覆盖此方法并提供一个将对象的类型和数据存入帐户的实现。默认实现等效于以下表达式 :

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

如果你想抓住你的EditText小部件的内容,你反而会editText.getText().toString()