2010-04-21 25 views
16

Czy ktoś może powiedzieć, jak dodać przycisk w Androidzie?Jak dodać przycisk na Androidzie?

+0

możliwy duplikat [Jak mogę dynamicznie utworzyć przycisk w systemie Android?] (Http://stackoverflow.com/questions/3011092/how-can-i-dynamically-create-a-button-in-android) – tzot

+0

co?? Naprawdę: - | –

Odpowiedz

13

Sprawdź ten samouczek: Android Button; ten prosty przykład tworzy przycisk zamykania.

Wszystko, co musisz zrobić, to:

1.Add Przycisk widget do układu

<Button android:id="@+id/close" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:text="@string/title_close" /> 

2.Attach metoda setOnClickListener do instancji przycisku:

protected void onCreate(Bundle savedInstanceState) { 
    this.setContentView(R.layout.layoutxml); 
    this.closeButton = (Button)this.findViewById(R.id.close); 
    this.closeButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     finish(); 
    } 
    }); 
} 
+0

cześć, czy można dodać przycisk bez zadeklarowania go w pliku xml układu? – poeschlorn

+0

Sprawdź tutaj: http://stackoverflow.com/questions/1851633/how-to-add-button-dynamicznie-in-android – droidgren

6

Dynamiczne :

Button btn= new Button(this); 
btn.settext("Submit"); 
btn.setOnClickListener(new View.OnClickListener() 
{ 
    public void onClick(View view) 
    { 
      //your write code 
     } 
}); 
0

Według oficjalnej dokumentacji Buttons dostarczonej przez Androida. Możesz najpierw utworzyć przycisk w pliku .xml.

Button.xml

<Button 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/button_text" 
... /> 

A potem oddać przycisku z przyciskiem klasy i ustawić ClickListener.

Button button = (Button) findViewById(R.id.button_send); 
button.setOnClickListener(new View.OnClickListener() { 
public void onClick(View v) { 
    // Do something in response to button click 
} 
    }); 

Bliższe szczegóły można znaleźć ten link

1

Dodanie przycisku

Button b1=(Button) findViewById(R.id.button1); 

nie dodać przycisk. Deklaruje i inicjalizuje instancję Buttona, który odnosi się do przycisku w chwili nadmuchanego xml, który posiada identyfikator button1

Więc w xml trzeba gdzieś

<Button 
android:id="@+id/button1" 
    <!-- other properties --> 
/> 

Możesz dodać przycisk programowo z

Button bt1 = new Button(this); 
// give it properties 

ale jest generalnie łatwiej zrobić w XML, ponieważ tutaj trzeba programowo nadać jej parametry, właściwości i dodać go do napompowanej układ

OnClick

Jeśli chodzi o onClick() to zależy od tego, co czujesz, to najprostszy i najlepszy w danej sytuacji. Lubię deklarować to w xml tak często, ale możesz to zrobić na kilka sposobów.Korzystając z tej metody po prostu mieć pewność, że masz funkcję tak, że jest publiczna i zajmuje tylko jeden parametr i że parametr musi być View

public void clickEvent(View v) 
{ 
     // code here 
    } 

Ja również zmienił nazwę więc xml byłoby jak

<Button 
android:id="@+id/button1" 
<!-- other properties --> 
android:onClick="clickEvent"/> 

można również ustawić onClick() w Javie coś jak

Button b1=(Button) findViewById(R.id.button1); 
    b1.setOnClickListener(new OnClickListener() 
{ 
    @Override 
public void onClick(View v) 
{ 
    // code here 
} 
}); 

lub

Button b1=(Button) findViewById(R.id.button1); 
b1.setOnClickListener(this); 

@Override 
public void onClick(View v) 
{ 
    // code here 
} 

Zauważ, że ostatni sposób będzie trzeba dodać narzędzi OnClickListener w swojej deklaracji Aktywny

public class MyActivity extends Activity implements OnClickListener 
    { 

Można również tworzyć własne kliknij Listener zmieniając go do czegoś jak

b1.setOnClickListener(myBtnClick); 

następnie utwórz instancję z czymś takim, jak

public OnClickListener myBtnClick = new OnClickListener() 
{ 
@Override 
public void onClick(View v) 
{ 
    // click code here  
} 
    }; 

Możesz użyj tego dla wielu przycisków i włącz identyfikator lub sprawdź parametr Widok, aby dowiedzieć się, który przycisk został kliknięty lub stwórz oddzielne elementy dla różnych przycisków.

+1

dobre wyjaśnienie :) –

Powiązane problemy