搜索界面布局以及逻辑编写
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/15859737.html
搜索布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/blue_2196F3"> <RelativeLayout android:layout_width="match_parent" android:layout_height="50dp"> <ImageView android:id="@+id/search_iv_back" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="10dp" android:onClick="onClick" android:src="@mipmap/it_back" /> <EditText android:id="@+id/search_et" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:layout_toRightOf="@id/search_iv_back" android:background="@drawable/dialog_btn_bg" android:hint="@string/please_search_info" android:paddingLeft="20dp" android:paddingTop="10dp" android:paddingBottom="10dp" android:textColor="@color/black" android:textSize="16sp"> <requestFocus /> </EditText> <ImageView android:id="@+id/search_iv_sh" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="20dp" android:onClick="onClick" android:src="@mipmap/search" /> </RelativeLayout> <ListView android:id="@+id/search_lv" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@color/grey_f3f3f3" android:dividerHeight="6dp" /> <TextView android:id="@+id/search_tv_empty" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="250dp" android:drawableTop="@mipmap/it_searchtext" android:gravity="center" android:text="@string/date_empty" android:textSize="20sp" /> </LinearLayout>
逻辑编写
package com.example.easycash; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.example.easycash.adapter.AccountAdapter; import com.example.easycash.db.AccountBean; import com.example.easycash.db.DBManager; import java.util.ArrayList; import java.util.List; public class SearchActivity extends AppCompatActivity { ListView searchLv; EditText searchEt; TextView emptyTv; List<AccountBean>mDatas; //数据源 AccountAdapter adapter; //适配器对象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); initView(); mDatas = new ArrayList<>(); adapter = new AccountAdapter(this,mDatas); searchLv.setAdapter(adapter); searchLv.setEmptyView(emptyTv); //设置无数局时,显示的控件 } private void initView() { searchEt = findViewById(R.id.search_et); searchLv = findViewById(R.id.search_lv); emptyTv = findViewById(R.id.search_tv_empty); } public void onClick(View view) { switch (view.getId()) { case R.id.search_iv_back: finish(); break; case R.id.search_iv_sh: //执行搜索的操作 String msg = searchEt.getText().toString().trim(); // 判断输入内容是否为空,如果为空,就提示不能搜索 if (TextUtils.isEmpty(msg)) { Toast.makeText(this,"输入内容不能为空!",Toast.LENGTH_SHORT).show(); return; } //开始搜索 List<AccountBean> list = DBManager.getAccountListByRemarkFromAccounttb(msg); mDatas.clear(); mDatas.addAll(list); adapter.notifyDataSetChanged(); break; } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」