Skip to content

Commit

Permalink
Add text change
Browse files Browse the repository at this point in the history
  • Loading branch information
Ahmad Aghazadeh committed Oct 5, 2018
1 parent 235289e commit 3b4a92a
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
package com.github.ahmadaghazadeh.sample;

import android.arch.lifecycle.Observer;
import android.arch.lifecycle.ViewModelProviders;
import android.databinding.DataBindingUtil;
import android.databinding.ViewDataBinding;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

import com.github.ahmadaghazadeh.sample.BR;
import com.github.ahmadaghazadeh.editor.widget.CodeEditor;
import com.github.ahmadaghazadeh.sample.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CodeModel codeModel=new CodeModel("<html>","html");
ViewDataBinding mViewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
CodeModel codeModel = new CodeModel("<html>", "html");
ActivityMainBinding mViewDataBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
mViewDataBinding.setVariable(BR.viewModel, codeModel);
mViewDataBinding.setLifecycleOwner(this);

mViewDataBinding.editor.setOnTextChange(str -> {
Toast.makeText(this,str,Toast.LENGTH_LONG).show();
});

}

Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@


<com.github.ahmadaghazadeh.editor.widget.CodeEditor
android:id="@+id/editor"
bind:isReadOnly="@{false}"
bind:code="@{viewModel.code}"
bind:lang="@{viewModel.lang}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import android.support.annotation.WorkerThread;
import android.text.Editable;
import android.text.TextPaint;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.Gravity;
import android.widget.RelativeLayout;
Expand Down Expand Up @@ -38,8 +39,34 @@ public class CodeEditor extends RelativeLayout implements Serializable {
private ExtendedKeyboard recyclerView;
boolean isReadOnly = false;
boolean isShowExtendedKeyboard = false;
private ICodeEditorTextChange codeEditorTextChange;
private boolean isDirty; //На данный момент не используется

public interface ICodeEditorTextChange{
void onTextChange(String str);
}
public void setOnTextChange(ICodeEditorTextChange onTextChange){
codeEditorTextChange=onTextChange;
editor.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {

}

@Override
public void afterTextChanged(Editable s) {
if(codeEditorTextChange!=null){
codeEditorTextChange.onTextChange(s.toString());
}
}
});
}

public CodeEditor(Context context) {
super(context);
init(context, null);
Expand Down

0 comments on commit 3b4a92a

Please sign in to comment.