Przechodzenie do innego activity z klasy adaptera dla listView

0

Czesc, mam stworzona klase adaptera dla listView ktora zawiera textView i button. I teraz tak chcialbym aby po klikniecu w textView nastepowalo przejscie do innego activity niz to w ktorym umieszczony jest listview, natomiast nie chce aby cos takiego sie dzialo po kliknieciu w przycisk. Jak to rozwiazac?

Z gory dzieki za wszelka pomoc!

0

No podpinasz clickListenera do textView i do buttona. Na textview reagujesz inaczej na button inaczej

0
viewHolderItem.loadTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                new BackgroundLoad().execute(name);
                Toast toast = Toast.makeText(context,"Wczytano",Toast.LENGTH_SHORT);
                toast.show();
            }
        });

        viewHolderItem.deleteListButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                db.removeFromLists(name);
                if(position<data.size()) {
                    data.remove(position);
                    Toast toast = Toast.makeText(context,"Usunięto",Toast.LENGTH_SHORT);
                    toast.show();
                }
            }
        });

to jest moj kod z klasy adaptera, w ktorym podpialem listenery natomiast jesli chodzi o przechodzenie do innego activity to ja znam taki sposob:

Intent intent = new Intent(....);
startActivity(intent);

ale tutaj to nie dziala bo klasa adaptera nie rozszerza klasy activity, stad moj problem

0

Spróbuj może w tym main activity najpierw:

final Context context = this;

a później może jakoś przez wstrzykiwanie zależności czy coś podobnego ten context do tej klasy adaptera, później użycie w tym kodzie:

Intent intent = new Intent(context, SecondActivity.class);
startActivity(intent);

Nie znam całego kodu więc ciężko teraz powiedzieć czy to zadziała.

0

Tego probowalem juz wczesniej i niestety nie dziala, nie mozesz wtedy wywolac metody startActivity() :((((
No moge wrzucic jeszcze jakies potrzebne fragmenty kodu, ale nie wydaje mi sie ze mialy by one jakies znaczenie, ogolnie
problem sprowadza sie do tego jak przejsc z klasy rozszerzajacej BaseAdapter do jakiegos activity

0

To spróbuj może w tym main activity utworzyć publiczną metodę:

public void startSecondActivity()
{
    Intent intent = new Intent(context, SecondActivity.class);
    startActivity(intent); 
}

I to wywołać jakoś w onClick, z tym że do main activity trzeba mieć też dostęp, można tu użyć np. Singletona w którym można by przechowywać ten main activity. To na razie tylko domysły.

0

Sory, twoja odpowiedz przeczytalem dopiero teraz, wiec juz nie bede sprawdzal czy dziala, ale dzieki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1