2016-12-31 17 views
1

我知道這個主題有很多答案,但我仍然有一個額外的事情我想要做的問題。直接在edittext中輸入數據時更新textview

我想在edittext((我知道這部分))中鍵入數據時更新文本視圖)。

問題是:如果我有一個按鈕,當我點擊那個按鈕時,我想發佈輸入的文本並結束更新方法。

這是代碼:

//in a class 
//I declared these objects and found them by id 
Button button; 
TextView textview; 
EditText edittext; 


//in the oncreate method 

//I made a string variable called enteredData; 

String enteredData=edittext.getText().toString(); 

//now to update the textview each time I type data in edittext 

edittext.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // TODO Auto-generated method stub 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
       int after) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      textview.setText(enteredData); 


      } 
     } 
    }); 


    //The problem here 

    button.setOnClickListener(new View.OnClickListener() { 
    @override 
    public void onClick(View view){ 
    //how to set the text finally into the text view and stop the update of 
    //this text view 

    } 
    }); 

感謝。

+0

後輸入的文字,結束更新方法。 ??你在這裏發表什麼意見 – eLemEnt

+0

@eLemEnt問題是,當我點擊按鈕在textview中設置最終文本時,textview仍然進入更新狀態,即使點擊按鈕時,它仍然不穩定。 –

回答

0

它的簡單嘗試這個 -

String enteredData=edittext.getText().toString(); 
Boolean pauseTextEntered=false; 

edittext.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void afterTextChanged(Editable s) { 
      if(!pauseTextEntered) 
      textview.setText(enteredData); 


      } 
     } 
    }); 


    button.setOnClickListener(new View.OnClickListener() { 
    @override 
    public void onClick(View view){ 
    if(!pauseTextEntered) 
    textview.setText(enteredData); 
    pauseTextEntered=true;  
    } 
    }); 
+0

謝謝是的,它現在工作。 –

0
button.setOnClickListener(new View.OnClickListener() { 
@override 
public void onClick(View view){ 
String enteredData=edittext.getText().toString(); 
textview.setText(enteredData); 
textview.setEnabled(false); // you have to enable again 
} 
}); 
0

@Hasan BT

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

TextView textView; 
Button button; 
EditText editText; 
boolean flag; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    textView = (TextView) findViewById(R.id.lblHeader); 
    button = (Button) findViewById(R.id.btnFragmentOne); 
    editText = (EditText) findViewById(R.id.editText); 
    button.setOnClickListener(this); 


    editText.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      // TODO Auto-generated method stub 
      if(!flag) 
       textView.setText(s); 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
             int after) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 
     } 
    }); 
} 

@Override 
public void onClick(View view) { 
    flag = true; 
} 

} 
+0

我點擊按鈕後沒有更新。 –

+0

@ HasanB.T嘗試新的答案..我知道它會工作,然後告訴我究竟你想要什麼按鈕點擊 – eLemEnt

+0

我想正好按鈕單擊以停止更新textview每次我在edittext中鍵入數據。 –