2014-01-07 90 views
1

我正在開發中,我正在嘗試設置爲可見性按鈕 一個Android應用程序設定能見度這裏有兩個活動如何爲一個按鈕,從另一個活動的Android

1)活性2含有例如按鈕如note1,note2,note3。 2)活性1,它有一個按鈕上click'g上它會改變用於上述按鈕的可視性即注1,注2,注3。

嘿能ANY1幫我PLZ

活動-1: 公共類Activity_2擴展活動實現OnSeekBarChangeListener {

SeekBar sb1, sb2, sb3, sb4; 
Button n1, n2, n3; 

private TextView name1, name2, name3, name4, add_row, 
      pro_a_e_name1, pro_a_e_name2, pro_a_e_name3, pro_a_e_name4, 
      status1, status2, status3, status4; 

private ProgressBar prg_br1, prg_br2, prg_br3, prg_br4; 
private int prg_br_Status1=0, prg_br_Status2=0, prg_br_Status3=0, prg_br_Status4=0; 


/*@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) 
{ 
    // TODO Auto-generated method stub 
    super.onRestoreInstanceState(savedInstanceState); 

    n1= (Button) findViewById(R.id.note1); 

    Bundle bun1 = getIntent().getExtras(); 
    int val1 = bun1.getInt("VAL1"); 
    if(val1==1); 
    { 
     n1.setVisibility(View.VISIBLE); 
    } 

} 

}

活動-2: 公共類注1擴展活動 {

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 

    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.note1); 

    final TextView note1_1=(TextView)findViewById(R.id.note1_1); 

    Bundle extras=getIntent().getExtras(); 
    String note1 = extras.getString("s1"); 
    note1_1.setText(note1); 

} 


public void onBack(View v) 
{ 
    Intent back1= new Intent(note1.this, Activity_2.class); 
    Bundle b1= new Bundle(); 
    String VAL1 = null; 
    b1.putInt(VAL1, 1); 
    back1.putExtras(b1); 
    startActivity(back1); 

} 

}

這就是我更改公開程度 開關順序嘗試做相距:ACT1 ACT2到到ACT3至ACT4 我在這裏改變能見度,同時從 回來ACT4到ACT2

+1

您可以通過以意向方式傳遞數據或將數據保存在共享首選項中並將此數據獲取到第二個活動的Oncreate方法中來實現。 – Piyush

+0

你說的問題與你的編碼不​​同。請說明您將在哪裏顯示note1的可見性?在Activity1中? –

回答

0

你可以嘗試一些這樣的事......

Button btn; 
Button note1; 

     btn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       // TODO Auto-generated method stub 

       note1.setVisibility(View.GONE); 

      } 
     }); 

如果你需要做一些事情在其他活動只需通過意圖傳遞數據。使用另一個活動的Oncreate()上的Bundle獲取該值。

對於防爆:

如果您在活動按注1按鈕之一,然後設置一些默認值,然後傳遞價值的其他活動。通過這個,你會知道哪個按鈕被點擊過,然後你可以像上面提到的那樣設置它的可見性。

0

使用共享首選項來存儲按鈕的可見性,更新來自Activity1和Activity2的首選項獲取首選項並在onResume()函數中更新您的視圖。

0

在這裏,我在僞代碼編寫

活動1:

  1. clickOnButton
  2. 發送一些標誌(可能是0或1)使用目的或根據您的應用程序發送的定製數據。

活動2: 1.獲取標誌或您的自定義數據 2.把它放在整數或字符串根據您的數據類型 3。如果標誌是0組的知名度做其他事情

+0

先生,但我應該怎麼做一個活動是由兩個意圖指出。意味着我們可以切換到另外兩項活動的活動。這裏面臨同樣的問題。我試圖從onResume和onRestart方法getzundle itz不工作。你能幫我解決問題嗎... –

+0

@PratikPatil我真的明白你的痛苦,但我需要清楚的信息,以便我可以幫助更好,現在我不明白你的要求。 – Manidroid

0

有你要實現你想做的事很多方法:

  1. 使用意向的額外的傳遞活動之間的數據調用startActivity(intent)方法之前

  2. 使用SharedPreference來存儲Button的狀態並使用Activity2中存儲的值。

  3. 創建Activity1publicstatic區,然後用它們在Activity2onResume()方法來設置Button's知名度

  4. 等等

+0

如果你有可能的話,你可以給我發一個僞代碼嗎? 。 。 –

0

做這個活動1

Button play; 

    play = (Button) findViewById(R.id.playId);  

    play.setOnClickListener(new View.OnClickListener() { 

    @Override 

    public void onClick(View v) { 



    Intent nextActivity = new Intent(Activity1.this, Activity2.class); 
    Bundle bundle = new Bundle(); 
    bundle.putInt("VAL", 1); 

    nextActivity.putExtras(bundle); 
    startActivity(nextActivity); 

    } 

    }); 
Activity2上的

執行此操作:

Bundle bun=getIntent().getExtras(); 
int val=bun.getInt("VAL"); 
. 
. 
. 
if(val==1) 
{ 
    note1.setVisibility(View.VISIBLE); 
    note2.setVisibility(View.VISIBLE); 
    note3.setVisibility(View.VISIBLE); 
} 

這將解決您的問題

+0

我試過但只是切換到活動。 Itz nt工作。在這裏溫試圖在另一端itz提高除非。 –

+0

@PratikPatil它不會發生。我已經這樣做了,然後我已經給你了代碼。你能不能展示你的兩個活動代碼?它會幫助我,你的問題在哪裏。 –

+0

先生,但我應該怎樣做一個活動是由兩個意圖指出。意味着我們可以切換到另外兩項活動的活動。這裏面臨同樣的問題。我試圖從onResume和onRestart方法getzundle itz不工作。你可以幫我解決問題... –

0

使先前的活動按鈕「靜態」並在後面例如下一個活動設定的生存能力像previousActivity.Button.setVisibility(View.VISIBLE);

我已經做到了,解決我的問題

+0

不起作用。因爲使按鈕的空指針異常。 –

相關問題