[英]Textview changing according to spinner and edittext with button click
我想做的很簡單,我有一個帶有一些項目的微調器,edittext和一個按鈕。 我希望能夠使用微調器選擇某個項目,然后鍵入某個值以編輯文本,然后單擊一個按鈕。 根據我之前選擇的微調項,然后在活動中更改文本視圖。
public void submitButtonClick (View submit){
Spinner s1 = (Spinner)findViewById(R.id.spinner1);
Button b1 = (Button)findViewById(R.id.button2);
if (b1.performClick())
{
switch (){
}
}
}
到目前為止,這就是我的想法,如果我單擊按鈕b1,則以下switch語句應該開始(如果選擇了項1,做某件事,等等),但是我不知道該如何實現。 如果有人可以幫助,我將不勝感激。 謝謝
這是我到目前為止的內容:
public void submit (View v){
Button b1 = (Button)findViewById(R.id.button2);
final Spinner s1 = (Spinner)findViewById(R.id.spinner1);
final Context context = this;
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = s1.getSelectedItemPosition();
switch (position){
case 0:
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Warning");
alertDialogBuilder.setMessage("Please choose an item from the list");
alertDialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
Bifrost.this.finish();
}
});
AlertDialog spinnerError = alertDialogBuilder.create();
spinnerError.show();
break;
case 1:
break;
}
}
});
}
代碼沒有錯誤,應用程序正常啟動,但是當我選擇第一個項目然后單擊按鈕時,沒有任何反應。 創建對話框時我做錯什么了嗎?
首先,您需要為按鈕設置onClickListener,在這種情況下,您需要獲得微調器的選定項。
b1.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
int position = s1.getSelectedItemPosition();
switch(position){
case 0: //first item
break;
case 1: //second item
break;
}
}
});
您可以將監聽器分配給微調器。
s1.setOnItemSelectedListener(new OnItemSelectedListener() {
// will run every time the user select an item from your spinner
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// change your textView here, base on position (index of item selected in spinner)
if (position == 0) {
// user selected the first item in spinner
}
else if (position == 1) {
// user selected the second item in spinner
}
// and so on...
}
});
之后,您可以為按鈕分配另一個偵聽器(類似於上面的代碼-匿名內部類,匿名聲明和初始化)。 它還將不得不覆蓋onClick等。關於所有這些,在線上有很多資源。
希望這可以幫助!
您可以使用以下方法之一來獲取微調框的選定項目。
spinner.getSelectedItem()
spinner.getSelectedItemPosition()
您使用哪一個與如何將項目加載到微調器中有關。 單擊此鏈接以獲取有關這些方法的更多信息。
你可以做這樣的事情。 您需要為button
設置onClickListener
。 當單擊button
時,將調用onClick
方法。 用這種方法檢查spinner
的選定項目。
Spinner s1 = (Spinner)findViewById(R.id.spinner1);
Button b1 = (Button)findViewById(R.id.button2);
b1.setOnclickListener(new onClickListener(){
public void onCLick(View v){
switch(s1.getSelectedItemPosition()){
case 0:
// do something
`enter code here`break
..........
}
}
}
);
我只是想給出一個概念性的想法,代碼並不精確,但這就是您應該這樣做的方式。 因此,我的建議是在實現這種更精簡的buttons
, spinners
和onCLickListeners
基本功能onCLickListeners
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.