Skip to content

Commit

Permalink
Update TagsListener to include onEnterClicked function
Browse files Browse the repository at this point in the history
  • Loading branch information
mabbas007 committed May 13, 2016
1 parent 72df50a commit abae94b
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.ShapeDrawable;
import android.net.Uri;
import android.os.Build;
import android.support.annotation.Nullable;
Expand All @@ -21,7 +20,6 @@
import android.text.style.ClickableSpan;
import android.text.style.ImageSpan;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
Expand Down Expand Up @@ -50,7 +48,7 @@ public class TagsEditText extends EditText

private ArrayList<String> mTags = new ArrayList<>();

private OnTagsChangedListener mListener;
private TagsEditListener mListener;

public TagsEditText(Context context)
{
Expand Down Expand Up @@ -255,10 +253,16 @@ private void removeSpan(Editable editable, TagSpan span, boolean includeSpace)
private void setTags()
{
afterTextEnabled = false;
boolean isEnterClicked = false;

final Editable editable = getText();

String str = editable.toString().replaceAll("\n", " ");
String str = editable.toString();
if(str.contains("\n"))
{
str = str.replaceAll("\n", " ");
isEnterClicked = true;
}

boolean isDeleting = mLastString.length() > str.length();

Expand All @@ -279,6 +283,10 @@ private void setTags()

mLastString = str;
afterTextEnabled = true;
if(isEnterClicked && mListener != null)
{
mListener.onEditingFinished();
}
}

private void buildTags(String str)
Expand Down Expand Up @@ -380,14 +388,15 @@ public TextView createTextView(String text)
return textView;
}

public void setOnTagsChangedListener(OnTagsChangedListener listener)
public void setTagsListener(TagsEditListener listener)
{
mListener = listener;
}

public interface OnTagsChangedListener
public interface TagsEditListener
{
void onTagsChanged(ArrayList<String> tags);
void onEditingFinished();
}

@Override
Expand Down
34 changes: 31 additions & 3 deletions app/src/main/java/mabbas007/myapplication/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,30 +1,58 @@
package mabbas007.myapplication;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.RelativeLayout;

import java.util.ArrayList;
import java.util.Arrays;

import mabbas007.tagsedittext.TagsEditText;

public class MainActivity extends AppCompatActivity
public class MainActivity extends AppCompatActivity implements TagsEditText.TagsEditListener
{

private static final String TAG = "MainActivity";
private TagsEditText mTagsEditText;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TagsEditText tagsEditText = (TagsEditText) findViewById(R.id.tagsEditText);
mTagsEditText = (TagsEditText) findViewById(R.id.tagsEditText);
Button button = (Button) findViewById(R.id.btnChangeColor);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
tagsEditText.setTagsBackgroundColor(android.R.color.holo_orange_dark);
mTagsEditText.setTagsBackgroundColor(android.R.color.holo_orange_dark);
//tagsEditText.setTagsTextColor(R.color.colorPrimary);
}
});


mTagsEditText.setTagsListener(this);
}

@Override
public void onTagsChanged(ArrayList<String> tags)
{
Log.d(TAG,"Tags changed: ");
Log.d(TAG, Arrays.toString(tags.toArray()));
}

@Override
public void onEditingFinished()
{
// InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
// imm.hideSoftInputFromWindow(mTagsEditText.getWindowToken(), 0);
// //mTagsEditText.clearFocus();
}
}

0 comments on commit abae94b

Please sign in to comment.