База данных Android Firebase Listview с поиском просмотра - PullRequest
0 голосов
/ 27 января 2019

У меня есть проблема по этому поводу;У меня есть список просмотра базы данных Firebase.Пользователи могут загружать данные и просматривать данные в виде списка.Я добавил панель инструментов и вид поиска.Но это не работает.Я перепробовал много методов, но методы не работали.Как я могу добиться успеха?Как я могу это сделать?Я хочу найти название книги "kitapisim / textviewname"

Моя страница просмотра списка здесь;

//imports here
public class Listesayfahali extends AppCompatActivity {
public static final String KITAP_NAME = "kitapisim";
public static final String KITAP_ID = "kitapid";
public static final String kitaplaryazar = "kitaplaryazar";
public static final String kitaplarGenre = "kitaplargenre";
public static final String kitapsahibi = "kitapsahibi";
DatabaseReference databaseKitaplar;
ListView listViewKitaplars;
List<Kitaplar> kitaplarList;
TextView textViewName;
TextView textViewYazar;
TextView textViewGenre;
TextView textViewkitapsahibi;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_listesayfahali);
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    databaseKitaplar = FirebaseDatabase.getInstance().getReference("Kitaplar");
    textViewName = (TextView) findViewById(R.id.textViewName);
    textViewYazar = (TextView) findViewById(R.id.textViewYazar);
    textViewGenre = (TextView) findViewById(R.id.textViewGenre);
    textViewkitapsahibi = (TextView) findViewById(R.id.textViewkitapsahibi);
    listViewKitaplars = (ListView) findViewById(R.id.listViewKitaplars);
    kitaplarList = new ArrayList<>();
    listViewKitaplars.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int i, long id) {
            Kitaplar kitaplar = kitaplarList.get(i);
            Intent intent = new Intent(getApplicationContext(), Kitapprofil.class);
            intent.putExtra(KITAP_ID, kitaplar.getKitaplarId());
            intent.putExtra(KITAP_NAME, kitaplar.getKitaplarisim());
            intent.putExtra(kitaplaryazar, kitaplar.getKitaplaryazar());
            intent.putExtra(kitaplarGenre, kitaplar.getKitaplarGenre());
            intent.putExtra(kitapsahibi, kitaplar.getKitapsahibi());
            startActivity(intent);
        }
    });

}


@Override
protected void onStart() {
    super.onStart();
    databaseKitaplar.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            kitaplarList.clear();
            for (DataSnapshot kitaplarSnapshot : dataSnapshot.getChildren()) {
                Kitaplar kitaplar = kitaplarSnapshot.getValue(Kitaplar.class);
                kitaplarList.add(kitaplar);
            }

            BookList adapter = new BookList(Listesayfahali.this, kitaplarList);
            listViewKitaplars.setAdapter(adapter);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu2, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.menuLogout:
            FirebaseAuth.getInstance().signOut();
            finish();
            startActivity(new Intent(this, MainActivity.class));
            break;
    }
    switch (item.getItemId()){
        case R.id.menukitap:
        startActivity(new Intent(Listesayfahali.this, BookActivity.class));
        break;
    }
    return true;
}
}
...