簡體   English   中英

單擊按鈕從Android中的EditText獲取文本

[英]getting text from EditText in Android on click of button

嗨,我正在使用android中的計算器。 我正在根據某個特定編號的點擊顯示一個EditText,例如,當用戶按下1時它將顯示1.現在,當用戶單擊2時它將顯示12,依此類推。

我有這樣的事情

  public class Main extends Activity implements OnClickListener {

   public static int no1=0,no2=0,op=0,flag=0;
   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    EditText display1=(EditText) findViewById(R.id.display);    


     Button one= (Button) findViewById(R.id.one);  
     one.setOnClickListener(this);
   }


public void onClick(View v) {

    if(v.getId()==R.id.one)
    {
        switch(flag)
        {
        case 1:no1*=10+1;display1.setText(no1);
        case 2:no2*=10+1;display1.setText(no2);
        }


    }

但在這里我收到錯誤消息,因為“無法解析display1”。

任何解決方案,使工作.. ??

因為它僅在您的onCreate方法中可用。 在班級中將其聲明為字段。

private EditText display1;

有時,完整的代碼示例有幫助:

public class Main extends Activity implements OnClickListener {

   private int no1=0;
   private int no2=0;
   private int op=0;
   private int flag=0;
   private EditText display1;

   public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);


     display1=(EditText) findViewById(R.id.display);    


     Button one= (Button) findViewById(R.id.one);  
     one.setOnClickListener(this);
   }


    public void onClick(View v) {

      if(v.getId()==R.id.one)
      {
        switch(flag)
        {
        case 1:no1*=10+1;display1.setText(no1);
        case 2:no2*=10+1;display1.setText(no2);
        }


   }
}

基本上,您想將display1聲明為私有實例變量。 其他變量不必是靜態的,應該聲明為私有。 聲明在單獨的行上格式化,以提高可讀性。

玩得開心。

全局聲明您的EditText和Button。

最好在EditText中顯示一個字符串,這樣您就可以輕松地附加和擦除。 然后,您可以將其解析為整數,以便能夠對其進行數學運算。

首先,您應該聲明按鈕並全局編輯文本:

public class Main extends Activity implements OnClickListener {
     private EditText display1 = (EditText) findViewById(R.id.display);    
     private Button one= (Button) findViewById(R.id.one);
     private Button two= (Button) findViewById(R.id.two);    

如果您將按鈕標簽設置為數字,則可以這樣使用它:

public void onClick(View view){
    display1.setText(display1.getText.toString() +  ((Button) view).getText().toString());
}    

這樣,您可以將數字附加到顯示字符串的末尾。 如果要使用顯示的數字,可以使用以下代碼:

int number = Integer.parseInt(display1.getText().toString());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM