0

我用主布局从 mainAcitivity 调用此方法 SolveUpdation(来自 button-onclickAction 侦听器)。我使用其他布局从用户那里获取价值并将其设置为主布局中的按钮标题,这只是对我不起作用的指令

    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.
            }});

所以请谁能指导我为什么这个指令 buttonLED1.setText(TitleApp1); 不工作???任何帮助将不胜感激..谢谢

4

1 回答 1

0

无意冒犯,但你编写代码的方式并不是一个好习惯。setContentView我的建议:停止在您的主要活动中调用另一个。您应该在一个布局中实现所有需要的按钮和 EditText,并将它们的可见性设置为gonevisible取决于单击的按钮。

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

顺便说一句:我认为您当前的代码无法正常工作,因为您启动了新的 Activity。通过这个,一切都被再次初始化,所以buttonLED1你看到的buttonLED1和得到文本的不一样。

于 2012-11-24T12:32:57.133 回答