一个布局中的getText和另一个布局中的(设置)setText

时间:2012-11-24 11:51:18

标签: android-layout gettext settext

我将mainAcitivity的主要布局称为SolveUpdation(来自button-onclickAction Listener)。我使用其他布局从用户获取值并在主布局中将其设置为按钮标题,这只是对我不起作用的指令

    private void  SolveUpdation() {     //this function call is generated from the main Activity with main layout       
        setContentView(R.layout.updateappliance); //this is 2nd layout to get values from user and use them as buttonText in the main layout   

        btnSaveApp = (Button) findViewById(R.id.Bupdatenow);
        btnSaveApp.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {       
                // TODO Auto-generated method stub
                  mOutEditText = (EditText) findViewById(R.id.edit_text_1);               
                  TextView view1 = (TextView) findViewById(R.id.edit_text_1);
                  final String TitleApp1 = view1.getText().toString();  //the value is read properly here

//                if (App1.length() > 0) {
//                    byte[] send = App1.getBytes();
//                }

                btnSaveApp.setText(TitleApp1); //this works fine
                startActivity(new Intent(HomeScreen.this, HomeScreen.class));//this the main activity for main layout
                setContentView(R.layout.main); //this is the main layout and this instruction works
                buttonLED1.setText(TitleApp1); //buttonLED1 (a Togglebutton or can be simple) is  defined in main layout and this does not works and this is what i am stuck with
                SaveAppNamesToast(TitleApp1);   //this is just to toast the value and it works fine.
            }});

所以plz可以任何人指导我为什么这个指令buttonLED1.setText(TitleApp1);不起作用???任何帮助都将是值得赞赏的..谢谢

1 个答案:

答案 0 :(得分:0)

没有冒犯,但你编写代码的方式不是一个好习惯。 我的建议:停止在主要活动中呼叫另一个setContentView。您应该在一个布局中实现所有需要的Buttons和EditTexts,并根据单击的按钮将其可见性设置为gonevisible

如果你不想这样做,你应该创建一个处理用户输入的第二个类。按下保存按钮后,您初始化主要活动的意图,并通过intent.putExtra("KEY", value)用户的输入提供。 您的主要活动可以通过getIntent().getExtras().getInt("KEY")获得此值。

顺便说一下:我认为您当前的代码不起作用,因为您启动了新的Activity。通过这一切,所有内容都会再次初始化,因此您看到的buttonLED1与获取文字的buttonLED1不同。