Поиск идентификатора просмотра поиска приводит к сбою моего приложения/программы ⇐ Android
Поиск идентификатора просмотра поиска приводит к сбою моего приложения/программы
I have developed a basic program where it has list(recycler view) and you can search from it. But, the issue i encountered is when i tried to integrate a search feature. When trying to find the id of the search view, my app crashes. I also tried to use EditText, but it encountered same problem. The line searchViewHx = findViewById(R.id.searchHx) is the one that error
import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.SearchView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; //RecyclerAdapter recyclerAdapter; ArrayList soilList = new ArrayList(); ArrayList remarkList = new ArrayList(); ImageView deleteAll; AlertDialog.Builder deleteAllBuilder; private SearchView searchViewHx; //EditText searchEdit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); deleteAll = findViewById(R.id.deleteAll); searchViewHx = findViewById(R.id.searchHx); //THE ONE THAT CAUSES ERROR //searchViewHx.clearFocus(); /*searchViewHx.setOnQueryTextListener(new SearchView.OnQueryTextListener(){ @Override public boolean onQueryTextSubmit(String query){ return false; } @Override public boolean onQueryTextChange(String newText){ filterList(newText); return true; } });*/ soilList.add("Soil 1"); soilList.add("Soil 2"); soilList.add("Soil 3"); soilList.add("Soil 4"); soilList.add("Soil 5"); remarkList.add("Passed"); remarkList.add("Failed"); remarkList.add("Passed"); remarkList.add("Failed"); remarkList.add("Failed"); initRecyclerView(); deleteAllBuilder = new AlertDialog.Builder(this); //CHANGE THIS deleteAll.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ deleteAllBuilder.setTitle("Alert") .setMessage("Do you want to delete all?") .setCancelable(true) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //method that deletes all hx from list and cardview } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .show(); } }); } /*private void filterList(String text) { List filteredList = new ArrayList(); filteredList.addAll(soilList); for(String item : filteredList){ if(item.toLowerCase().contains(text.toLowerCase())){ filteredList.add(item); } if(filteredList.isEmpty()){ Toast.makeText(this, "No data found", Toast.LENGTH_SHORT).show(); }else{ recyclerAdapter.setFilteredList(filteredList); } } }*/ private void initRecyclerView(){ RecyclerAdapter recyclerAdapter = new RecyclerAdapter(soilList, remarkList); recyclerView.setAdapter(recyclerAdapter); } } XML FILE:
I made sure, the search view is on the correct xml layout file and made sure Im using the right id of the search view. I imported the needed class and tried using edit text, to see if it has same problem.
Источник: https://stackoverflow.com/questions/780 ... m-to-crash
I have developed a basic program where it has list(recycler view) and you can search from it. But, the issue i encountered is when i tried to integrate a search feature. When trying to find the id of the search view, my app crashes. I also tried to use EditText, but it encountered same problem. The line searchViewHx = findViewById(R.id.searchHx) is the one that error
import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.SearchView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { RecyclerView recyclerView; //RecyclerAdapter recyclerAdapter; ArrayList soilList = new ArrayList(); ArrayList remarkList = new ArrayList(); ImageView deleteAll; AlertDialog.Builder deleteAllBuilder; private SearchView searchViewHx; //EditText searchEdit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); deleteAll = findViewById(R.id.deleteAll); searchViewHx = findViewById(R.id.searchHx); //THE ONE THAT CAUSES ERROR //searchViewHx.clearFocus(); /*searchViewHx.setOnQueryTextListener(new SearchView.OnQueryTextListener(){ @Override public boolean onQueryTextSubmit(String query){ return false; } @Override public boolean onQueryTextChange(String newText){ filterList(newText); return true; } });*/ soilList.add("Soil 1"); soilList.add("Soil 2"); soilList.add("Soil 3"); soilList.add("Soil 4"); soilList.add("Soil 5"); remarkList.add("Passed"); remarkList.add("Failed"); remarkList.add("Passed"); remarkList.add("Failed"); remarkList.add("Failed"); initRecyclerView(); deleteAllBuilder = new AlertDialog.Builder(this); //CHANGE THIS deleteAll.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ deleteAllBuilder.setTitle("Alert") .setMessage("Do you want to delete all?") .setCancelable(true) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //method that deletes all hx from list and cardview } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .show(); } }); } /*private void filterList(String text) { List filteredList = new ArrayList(); filteredList.addAll(soilList); for(String item : filteredList){ if(item.toLowerCase().contains(text.toLowerCase())){ filteredList.add(item); } if(filteredList.isEmpty()){ Toast.makeText(this, "No data found", Toast.LENGTH_SHORT).show(); }else{ recyclerAdapter.setFilteredList(filteredList); } } }*/ private void initRecyclerView(){ RecyclerAdapter recyclerAdapter = new RecyclerAdapter(soilList, remarkList); recyclerView.setAdapter(recyclerAdapter); } } XML FILE:
I made sure, the search view is on the correct xml layout file and made sure Im using the right id of the search view. I imported the needed class and tried using edit text, to see if it has same problem.
Источник: https://stackoverflow.com/questions/780 ... m-to-crash
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Поиск идентификатора просмотра поиска приводит к сбою моего приложения/программы
Anonymous » » в форуме JAVA - 0 Ответы
- 37 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Поиск идентификатора просмотра поиска приводит к сбою моего приложения/программы
Anonymous » » в форуме Android - 0 Ответы
- 44 Просмотры
-
Последнее сообщение Anonymous
-