自定义view加搜索

package gaoshuai.bwie.com.demo2.view;

import android.content.Context;
import android.os.Build;
import android.support.annotation.Nullable;
import android.support.annotation.RequiresApi;
import android.util.AttributeSet;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import org.w3c.dom.Text;

import gaoshuai.bwie.com.demo2.R;
import gaoshuai.bwie.com.demo2.v.ViewActivity;

public class MyLinearLayout extends LinearLayout {
TextView back,sou;
EditText edit_sou;
FlowLayout flowLayout;
LinearLayout linearLayout;

public MyLinearLayout(Context context) {
    super(context);
}

public MyLinearLayout(final Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
    final ViewActivity viewActivity= (ViewActivity) context;
    View view = View.inflate(context, R.layout.layout_public, this);
    //获取流式布局的id
    flowLayout=view.findViewById(R.id.layout_flow);
    back=view.findViewById(R.id.back);
    edit_sou=view.findViewById(R.id.edit_sou);
    sou=view.findViewById(R.id.sou);
    linearLayout=view.findViewById(R.id.layout_id);
    edit_sou.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

// edit_sou.setFocusable(true);

            edit_sou.setFocusableInTouchMode(true);

// edit_sou.requestFocus();
}
});
edit_sou.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
//当输入框获取焦点是,展示流式布局
if(hasFocus){
flowLayout.setVisibility(VISIBLE);

            }else{
                //当输入框失去焦点时,隐藏流式布局
                flowLayout.setVisibility(GONE);
            }
        }
    });




    sou.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            final String cont = edit_sou.getText().toString();
            TextView textView = new TextView(context);
            textView.setTag(cont);
            textView.setText(cont);
            if(textView.getText().toString().equals(null)||textView.getText().toString().equals("")){
                viewActivity.keyword="高";
            }else{
                viewActivity.keyword=textView.getText().toString();
            }
            viewActivity.init();
            viewActivity.list.clear();
            textView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(context,cont,Toast.LENGTH_SHORT).show();
                }
            });
            flowLayout.addView(textView);
            linearLayout.requestLayout();

            //当点击搜索是清除搜索框的焦点

// edit_sou.setFocusable(false);
edit_sou.setFocusableInTouchMode(false);
edit_sou.clearFocus();
}
});
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
viewActivity.finish();
}
});
}

public MyLinearLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public MyLinearLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    super(context, attrs, defStyleAttr, defStyleRes);
}

}

猜你喜欢

转载自blog.csdn.net/Arle_n_/article/details/88776910
今日推荐