我想在所有表中搜索如何在android中创建它的名称? 我想使用searchview
我搜索了但我找不到任何东西
这个活动,我从一个表显示数据,我只在这个表中使用搜索我想在所有表中使用搜索并在另一个活动中显示
public class R_arabic extends AppCompatActivity
implements SearchView.OnQueryTextListener {
String story_type;
String story_type2;
ProgressBar progressBar;
LinearLayout progress_layout;
List<listitem_gib> GetDataAdapter1;
RecyclerView recyclerView;
RecyclerView.LayoutManager recyclerViewlayoutManager;
RecyclerViewAdapter recyclerViewadapter;
String id = "id";
String name = "name";
String url = "url";
String img = "img";
String num = "num";
String size = "size";
JsonArrayRequest jsonArrayRequest ;
RequestQueue requestQueue ;
ImageView banner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_r_arabic);
banner = (ImageView)findViewById(R.id.backdrop);
Intent intent = getIntent();
story_type2 = intent.getStringExtra("Story_Type2");
switch (story_type2) {
case "روايات رومانسية":
banner.setImageResource(R.drawable.romance_banner);
break;
case "روايات عربية":
banner.setImageResource(R.drawable.arabic_banner);
break;
case "روايات رعب":
banner.setImageResource(R.drawable.ro3b_banner);
break;
case "روايات مترجمة":
banner.setImageResource(R.drawable.motrgam_banner);
break;
case "روايات سياسية":
banner.setImageResource(R.drawable.siasa_banner);
break;
case "روايات جيب":
banner.setImageResource(R.drawable.gib_banner);
break;
case "كتب تنيمة بشرية":
banner.setImageResource(R.drawable.tnmia_banner);
break;
case "كتب اسلامية":
banner.setImageResource(R.drawable.islam_banner);
break;
}
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle(story_type2);
setSupportActionBar(toolbar);
GetDataAdapter1 = new ArrayList<>();
recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
progressBar = (ProgressBar) findViewById(R.id.progress_bar);
recyclerView.setHasFixedSize(true);
recyclerViewlayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(recyclerViewlayoutManager);
progress_layout = (LinearLayout) findViewById(R.id.progress_layout);
progress_layout.setVisibility(View.VISIBLE);
JSON_DATA_WEB_CALL();
}
public void JSON_DATA_WEB_CALL(){
Intent intent = getIntent();
story_type = intent.getStringExtra("Story_Type");
String GET_JSON_DATA_HTTP_URL = "http://i-geeky.info/android/" + story_type + ".php";
jsonArrayRequest = new JsonArrayRequest(GET_JSON_DATA_HTTP_URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
progress_layout.setVisibility(View.GONE);
JSON_PARSE_DATA_AFTER_WEBCALL(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
requestQueue = Volley.newRequestQueue(this);
requestQueue.add(jsonArrayRequest);
}
public void JSON_PARSE_DATA_AFTER_WEBCALL(JSONArray array){
for(int i = 0; i<array.length(); i++) {
listitem_gib GetDataAdapter2 = new listitem_gib();
JSONObject json = null;
try {
json = array.getJSONObject(i);
GetDataAdapter2.setId(json.getString(id));
GetDataAdapter2.setName(json.getString(name));
GetDataAdapter2.seturl(json.getString(url));
GetDataAdapter2.setimg(json.getString(img));
GetDataAdapter2.setnum(json.getString(num));
GetDataAdapter2.setsize(json.getString(size));
} catch (JSONException e) {
e.printStackTrace();
}
GetDataAdapter1.add(GetDataAdapter2);
}
recyclerViewadapter = new RecyclerViewAdapter(GetDataAdapter1, this);
//RecyclerView needs a layout manager in order to display data so here we create one
StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
//Here we set the layout manager and the adapter to the listview
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(recyclerViewadapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.category, menu);
final MenuItem searchItem = menu.findItem(R.id.search);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search));
searchView.setQueryHint("ادخل اسم الروايه او اسم الكاتب");
searchView.setOnQueryTextListener(this);
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
newText = newText.toLowerCase().replaceAll("\u0624", "\u0648").replaceAll("\u0629", "\u0647").replaceAll("\u064a", "\u0649")
.replaceAll("\u0626", "\u0649").replaceAll("\u0622", "\u0627")
.replaceAll("\u0623", "\u0627").replaceAll("\u0625", "\u0627");
List<listitem_gib> newList = new ArrayList<>();
for (listitem_gib list : GetDataAdapter1){
String name = list.getName().toLowerCase().replaceAll("\u0624", "\u0648").replaceAll("\u0629", "\u0647").replaceAll("\u064a", "\u0649")
.replaceAll("\u0626", "\u0649").replaceAll("\u0622", "\u0627")
.replaceAll("\u0623", "\u0627").replaceAll("\u0625", "\u0627");
String name1 = list.getnum().toLowerCase().replaceAll("\u0624", "\u0648").replaceAll("\u0629", "\u0647").replaceAll("\u064a", "\u0649")
.replaceAll("\u0626", "\u0649").replaceAll("\u0622", "\u0627")
.replaceAll("\u0623", "\u0627").replaceAll("\u0625", "\u0627");
if (name.contains(newText) || name1.contains(newText)){
newList.add(list);
}
}
recyclerViewadapter.setFilter(newList);
return true;
}}
答案 0 :(得分:1)
您可以使用Cursor的方法使用SQL命令执行SQL命令。
e.g。
Cursor cursor = db.rawQuery("select * from tab");