塞特斯正在工作,但吸气者不是

时间:2016-03-17 17:05:08

标签: java android

我创建了一个用户类,我在

中收集数据
public class Users {
 private String name;


 public String getName() {
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
}

然后我以这种方式从用户那里获取文本

Users users=new Users();
String name=editTextmain.getText().toString();
users.setName(name);

之后我想在祝酒词中查看名字 所以我这样做

Users users=new Users();
Toast.makeText(this,users.getName(),Toast.LENGTH_LONG).show();

吐司似乎是空的,有什么想法吗?

4 个答案:

答案 0 :(得分:1)

您在Toast.makeText

之前创建了一个新对象
Users users=new Users();
Toast.makeText(this,users.getName(),Toast.LENGTH_LONG).show();

您必须使用此前初始化的users

Users users=new Users();
String name=editTextmain.getText().toString();
users.setName(name);

答案 1 :(得分:1)

通过这样做

Users users=new Users();

每次创建新对象时都没有价值。所以你需要让你的模型类 Singleton

    public class Users {
     private String name;
     public static Users user;

     public static Users getInstance(){
        if(user == null)
           user = new Users();
        return user;
     }

     private Users(){

     }    

     public String getName() {
         return name;
     }

     public void setName(String name){
         this.name=name;
     }
 }

现在使用这个......

1. to set the name

Users.getInstance().setName("Your Name");

2. to get the name

Users.getInstance().getName();

答案 2 :(得分:0)

如果你在其他方法的某些地方之后这样做:

Users users=new Users();

您正在声明另一个用户对象,并且其数据为空...

你需要获得你之前声明/发起的原始用户....

确保用户是一个类对象,并且不要在其上面留下阴影......

实施例

public class MainActivity extends Activity implements ....{

  Button btnActTwo;
  ....
  Users users;

答案 3 :(得分:0)

您为toast创建一个新的空用户:

SELECT AVG(tbl.Total)
FROM  tbl
WHERE DATEPART(WEEKDAY, tbl.[Date]) = 3 AND tbl.[Date] > DATEADD(DAY, -7 * 10, GETDATE())
AND tbl.[Type] = 'Sales'
GROUP BY DATEPART(WEEKDAY, tbl.[Date])

您需要先为用户设置名称:

Users users=new Users();
Toast.makeText(this,users.getName(),Toast.LENGTH_LONG).show();

或者不要创建新用户,只使用上一个用户。