2012-11-24 46 views
0

我從mainAcitivity與主佈局調用此方法SolveUpdation(從button-onclickAction監聽器)。我用其他的佈局,從用戶那裏獲取值,並將其設置爲主要佈局的按鈕標題和這只是不工作對我來說getText從一個佈局和(設置它)setText在另一個佈局

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

沒有冒犯,但你寫你的代碼的方式不是一個好習慣。 我的建議:停止在主要活動中調用另一個setContentView。您應該在一個佈局中實施所有需要的按鈕和EditText,並根據點擊哪個按鈕將其可見性設置爲gonevisible

如果你不想這樣做,你應該創建第二個類來處理用戶的輸入。按下保存按鈕後,您初始化主要活動的意圖,並通過intent.putExtra("KEY", value)給用戶輸入。 您的主要活動可通過getIntent().getExtras().getInt("KEY")收到該值。

順便說一句:我認爲你現在的代碼不起作用,因爲你開始的新活動。通過這一切再次初始化,所以你看到buttonLED1是不一樣的buttonLED1獲取文本。

+0

我想你告訴的方式是我想到的一些方法,但是我並不瞭解這些具體的關鍵詞,因爲我是初學者。讓我試試這個......你很棒......謝謝你。 – AbdulSaleem

相關問題