2012-12-04 17 views
0

大家好,預先感謝您並對我的英語感到抱歉。我有兩個很大的懷疑關於在xml中包含標籤和實現視圖的問題

1 - 我沒有太多的時間在android編程,我很確定有很多事情我做了錯誤的方式。例如,我做了幾個應用程序,在xml定義中我包含了另一個xml。

例如,假設2個活動的header_section.xml包含在兩個活動xml定義中。該header_section有5個按鈕和更多的意見等等。好吧,在XML中只是做一個包括,它的工作原理......但實施按鈕.....我必須在兩個活動重複代碼? ?在兩個活動中複製代碼聽起來都是非常糟糕的做法......但我怎麼能做到這一點,例如在活動A和B中呢?我是否必須在這兩個活動類中將這些代碼完全相同?

private View header_section; 
private Button bExample; 

header_section=findViewById(R.id.header_section); 
bExample=(Button)header_section.findViewById(R.id.bExample); 

bExample.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) {    
     //Whatwever...call a number, for example 
    } 
}); 

在主XML是這樣的:

<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:layout_height="0dp" > 
    <include android:id="@+id/header_section" android:layout_gravity="center" android:gravity="center" layout="@layout/header_section" /> 
</LinearLayout> 

和header_section.xml類似:

<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:layout_height="0dp" > 
     <Button android:id="@+id/bExample" /> 
</LinearLayout>  

2 - 想象一下,你有一個像你的應用程序10周的活動。如果在它們中都有一個標題部分和底部部分具有相同的功能,只更改中心區域(顯示不同的列表,視圖等)......更好的是在所有應用程序中只有一個活動,帶有在中部地區的viewflipper?或者有10項活動,我不知道是否可以避免,在第1點中提出,在所有10項活動中重複使用代碼來實施標題和底部視圖,處理程序等?

感謝和問候

回答

0

1)是的,通常,你應該使用它們,但你可以把它simplier ...

1.A)bExample =(按鈕)findViewById(R。 id.bExample); //不需要加載查看

1.B)可以縮短一點,你怎麼稱呼的onclick,在裏面的佈置你的按鈕/ clicable元素,這裏有一個例子:

<!--inside layout --> 
    <Button android:id="@+id/bExample" android:onClick="aceptar" /> 

//inside the Activity 
    public void aceptar(View v){ 
     //here the code of the button 
    } 

有關實施的所有活動中同樣的方法的問題,檢查這個帖子:Adding the same context menu to multiple activities

2)根據應用 如果你沒有做太多的事情,你可以加載所有相同的活動,隱藏/顯示你不想要的佈局元素。 但是,最好使用不同的活動,無論如何,如果佈局不「重」(太多的元素/包括內部),您可以加載所有活動的SAME佈局,並且只需要更改不同的內容(字符串)和/或隱藏/顯示不同的元素。

+0

嗨Jordi,thx回答。關於問題1)我仍然看到奇怪,你必須在10個地方重複代碼,但你發佈的鏈接是一個非常大的問題,我認爲:) 關於2)我想我應該做到這一點,相同的xDD – Rako

+0

嗨拉科,希望鏈接可以幫助你:)。大約2,在低級手機中試用它,因爲如果在佈局中使用太多組件(和/或在列表視圖中放置大量圖片,...)它可能會在加載時崩潰(也是在中高級別設備中)。關於一個活動中的所有活動,如果它們不是很多東西......用一兩個變量來跟蹤實際的「活動」,這很容易做,菜單也不會移動,所以使用ViewFlipper來管理轉換(如果你想)會是一個很好的結果:) – Jordi