首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按钮setText()实际上不会是setText

按钮setText()实际上不会是setText
EN

Stack Overflow用户
提问于 2016-09-21 18:18:20
回答 1查看 65关注 0票数 0

我正在尝试setText()到

代码语言:javascript
复制
Button btnFloor, btnTable;

不工作的自动取款机,实际上我是想从

FloorsActivity -> TablesActivity -> NewOrdersActivity

那么我是如何将数据从一个活动传递到另一个活动的呢?

FloorsActivity.java

代码语言:javascript
复制
@Override
public void onFloorItemClicked(int id) {


    Intent intent = new Intent(this, TablesActivity.class);
    intent.putExtra("FloorId", id);
    startActivity(intent);

    Toast.makeText(this, "Floor id : " + String.valueOf(id), Toast.LENGTH_SHORT).show();

}

TablesActivity.java

代码语言:javascript
复制
int floorId;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_floors_tables);
    initViews();

    Intent intent = getIntent();
    floorId = intent.getIntExtra("FloorId", 1);
}

@Override
public void onTableItemClicked(String name) {

    String floorName = "F" + floorId;

    Intent intent = new Intent(this, NewOrderActivity.class);
    intent.putExtra("FloorId", floorId);
    intent.putExtra("TableName", name);
    intent.putExtra("FloorName", floorName);
    startActivity(intent);

    Toast.makeText(this, "Table Name : " + String.valueOf(name), Toast.LENGTH_SHORT).show();

}

NewOrderActivity.java

代码语言:javascript
复制
String floorName;
String tableName;
int floorId;

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

    Intent intent = getIntent();
    floorName = intent.getStringExtra("FloorName");
    tableName = intent.getStringExtra("TableName");
    floorId = intent.getIntExtra("FloorId", 1);
}

public void initViews() {

    // Fetch view
    btnFloor = (Button) findViewById(R.id.btn_floor);
    btnTable = (Button) findViewById(R.id.btn_table);

    //Set Views

    btnFloor.setText(floorName);
    btnTable.setText(tableName);

    btnFloor.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(NewOrderActivity.this, FloorsActivity.class);
            startActivity(intent);
        }
    });

    btnTable.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent = new Intent(NewOrderActivity.this, TablesActivity.class);
            intent.putExtra("FloorId", floorId);
            startActivity(intent);

        }
    });

NewOrdersActivity是我试图设置文本的地方

这是我对这个全变的Github的承诺,这里是指向这个项目的链接

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-21 18:22:34

在重载意图额外的文件之前,您可以调用initViews()

固定NewOrderActivity.java

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_new_order);

    Intent intent = getIntent();
    floorName = intent.getStringExtra("FloorName");
    tableName = intent.getStringExtra("TableName");
    floorId = intent.getIntExtra("FloorId", 1);
    initViews();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39623813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档