我将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);不起作用???任何帮助都将是值得赞赏的..谢谢
答案 0 :(得分:0)
没有冒犯,但你编写代码的方式不是一个好习惯。
我的建议:停止在主要活动中呼叫另一个setContentView
。您应该在一个布局中实现所有需要的Buttons和EditTexts,并根据单击的按钮将其可见性设置为gone
或visible
。
如果你不想这样做,你应该创建一个处理用户输入的第二个类。按下保存按钮后,您初始化主要活动的意图,并通过intent.putExtra("KEY", value)
用户的输入提供。
您的主要活动可以通过getIntent().getExtras().getInt("KEY")
获得此值。
顺便说一下:我认为您当前的代码不起作用,因为您启动了新的Activity。通过这一切,所有内容都会再次初始化,因此您看到的buttonLED1
与获取文字的buttonLED1
不同。