ProgressBar in einem Async Task

A

andymcnab

Neues Mitglied
0
Guten Morgen zusammen,

ich habe eine Tabbed Activity erstellt, die mir eine Fußballtabelle anzeigt. Die Daten der Tabelle frage ich mit Jsoup über einen AsyncTask von einer Webseite ab.

Ich möchte nun, dass beim Start der Activity zunächst eine ProgressBar angezeigt wird, die dann, wenn die Daten geladen sind durch die Tabelle ersetzt wird.
Ich habe zunächst versucht einfach die Visibility der ProgressBar in der Methode
onPostExecute() auf INVISIBLE zu ändern und die der Tabelle auf VISIBLE. Das funktioniert leider nicht so einfach.

Im Anhang habe ich Screenshots sowie die Layouts.

Mein Code sieht folgendermaßen aus:

Code:
Activity Tabelle:
public class Tabelle extends AppCompatActivity {

    private ViewPager viewPager;
    private ViewPagerAdapterTabelle tabelle;
    private TabLayout tabLayout;

    [USER=3517]@override[/USER]
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tabelle);

        viewPager = findViewById(R.id.pagerTabelle);
        tabelle = new ViewPagerAdapterTabelle(getSupportFragmentManager());
        viewPager.setAdapter(tabelle);

        tabLayout = findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);
    }

    [USER=3517]@override[/USER]
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }
    [USER=3517]@override[/USER]
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.news:
                Intent intentNews = new Intent(this, MainActivity.class);
                startActivity(intentNews);
                return true;
            case R.id.kader:
                Intent intentKader = new Intent(this, Kader.class);
                startActivity(intentKader);
                return true;
            case R.id.tabelle:
                Intent intentTabelle = new Intent(this, Tabelle.class);
                startActivity(intentTabelle);
                return true;
            case R.id.spielplan:
                Toast.makeText(this, "SPIELPLAN", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.spiele:
                Toast.makeText(this, "SPIELE", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.termine:
                Toast.makeText(this, "TERMINE", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.kontakt:
                Intent intentKontakt = new Intent(this, Kontakt.class);
                startActivity(intentKontakt);
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}

Fragment Tabelle 1 sowie Fragment Tabelle 2 (analog dazu):

public class Tabelle1 extends Fragment {

    private ProgressBar progressBar;
    private ScrollView scrollView;

    public Tabelle1() {
        // Required empty public constructor
    }


    [USER=3517]@override[/USER]
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        new Erste().execute();
        //progressBar = getView().findViewById(R.id.progressbar);
        //scrollView = getView().findViewById(R.id.tabelle1);

        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_tabelle1, container, false);
    }

    private class Erste extends AsyncTask<Void, Void, Void> {

        String title;
        //Erste Mannschaft
        String erster, zweiter, dritter, vierter, fuenfter, sechster, siebter, achter, neunter, zehnter, elfter, zwoelfter, dreizehnter, vierzehnter;
        String spiele_erster, spiele_zweiter, spiele_dritter, spiele_vierter, spiele_fuenfter, spiele_sechster, spiele_siebter, spiele_achter, spiele_neunter, spiele_zehnter, spiele_elfter, spiele_zwoelfter, spiele_dreizehnter, spiele_vierzehnter;
        String differenz_erster, differenz_zweiter, differenz_dritter, differenz_vierter, differenz_fuenfter, differenz_sechster, differenz_siebter, differenz_achter, differenz_neunter, differenz_zehnter, differenz_elfter, differenz_zwoelfter, differenz_dreizehnter, differenz_vierzehnter;
        String punkte_erster, punkte_zweiter, punkte_dritter, punkte_vierter, punkte_fuenfter, punkte_sechster, punkte_siebter, punkte_achter, punkte_neunter, punkte_zehnter, punkte_elfter, punkte_zwoelfter, punkte_dreizehnter, punkte_vierzehnter;

        [USER=3517]@override[/USER]
        protected Void doInBackground(Void... voids) {
            try {
                Document doc = Jsoup.connect("Tabelle - B-Klasse Nord 1 19/20 - Donau - FuPa").get();
                title = doc.title();
                //Platz 1
                Elements tabellenerster = doc.select("#ip_content_wrapper > div.content > div.content_standard > table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_meister > td.tab_team_name");
                erster = tabellenerster.text();
                Elements spiele_tabellenerster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_meister > td.tabelle_nummer.tab_games");
                spiele_erster = spiele_tabellenerster.text();
                Elements differenz_tabellenerster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_meister > td.tabelle_nummer.tab_diff");
                differenz_erster = differenz_tabellenerster.text();
                Elements punkte_tabellenerster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_meister > td.tabelle_nummer.tab_points > strong");
                punkte_erster = punkte_tabellenerster.text();
                //Platz 2
                Elements tabellenzweiter = doc.select("#ip_content_wrapper > div.content > div.content_standard > table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_aufsteiger_r > td.tab_team_name > a");
                zweiter = tabellenzweiter.text();
                Elements spiele_tabellenzweiter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_aufsteiger_r > td.tabelle_nummer.tab_games");
                spiele_zweiter = spiele_tabellenzweiter.text();
                Elements differenz_tabellenzweiter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_aufsteiger_r > td.tabelle_nummer.tab_diff");
                differenz_zweiter = differenz_tabellenzweiter.text();
                Elements punkte_tabellenzweiter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr.tabelle_farbe_aufsteiger_r > td.tabelle_nummer.tab_points > strong");
                punkte_zweiter = punkte_tabellenzweiter.text();
                //Platz 3
                Elements tabellendritter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(4) > td.tab_team_name > a");
                dritter = tabellendritter.text();
                Elements spiele_tabellendritter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(4) > td.tabelle_nummer.tab_games");
                spiele_dritter = spiele_tabellendritter.text();
                Elements differenz_tabellendritter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(4) > td.tabelle_nummer.tab_diff");
                differenz_dritter = differenz_tabellendritter.text();
                Elements punkte_tabellendritter = doc.select("#ip_content_wrapper > div.content > div.content_standard > table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(4) > td.tabelle_nummer.tab_points");
                punkte_dritter = punkte_tabellendritter.text();
                //Platz 4
                Elements tabellenvierter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(5) > td.tab_team_name > a");
                vierter = tabellenvierter.text();
                Elements spiele_tabellenvierter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(5) > td.tabelle_nummer.tab_games");
                spiele_vierter = spiele_tabellenvierter.text();
                Elements differenz_tabellenvierter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(5) > td.tabelle_nummer.tab_diff");
                differenz_vierter = differenz_tabellenvierter.text();
                Elements punkte_tabellenvierter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(5) > td.tabelle_nummer.tab_points > strong");
                punkte_vierter = punkte_tabellenvierter.text();
                //Platz 5
                Elements tabellenfuenfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(6) > td.tab_team_name > a");
                fuenfter = tabellenfuenfter.text();
                Elements spiele_tabellenfuenfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(6) > td.tabelle_nummer.tab_games");
                spiele_fuenfter = spiele_tabellenfuenfter.text();
                Elements differenz_tabellenfuenfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(6) > td.tabelle_nummer.tab_diff");
                differenz_fuenfter = differenz_tabellenfuenfter.text();
                Elements punkte_tabellenfuenfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(6) > td.tabelle_nummer.tab_points > strong");
                punkte_fuenfter = punkte_tabellenfuenfter.text();
                //Platz 6
                Elements tabellensechster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(7) > td.tab_team_name > a");
                sechster = tabellensechster.text();
                Elements spiele_tabellensechster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(7) > td.tabelle_nummer.tab_games");
                spiele_sechster = spiele_tabellensechster.text();
                Elements differenz_tabellensechster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(7) > td.tabelle_nummer.tab_diff");
                differenz_sechster = differenz_tabellensechster.text();
                Elements punkte_tabellensechster = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(7) > td.tabelle_nummer.tab_points > strong");
                punkte_sechster = punkte_tabellensechster.text();
                //Platz 7
                Elements tabellensiebter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(8) > td.tab_team_name > a");
                siebter = tabellensiebter.text();
                Elements spiele_tabellensiebter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(8) > td.tabelle_nummer.tab_games");
                spiele_siebter = spiele_tabellensiebter.text();
                Elements differenz_tabellensiebter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(8) > td.tabelle_nummer.tab_diff");
                differenz_siebter = differenz_tabellensiebter.text();
                Elements punkte_tabellensiebter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(8) > td.tabelle_nummer.tab_points > strong");
                punkte_siebter = punkte_tabellensiebter.text();
                //Platz 8
                Elements tabellenachter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(9) > td.tab_team_name > a");
                achter = tabellenachter.text();
                Elements spiele_tabellenachter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(9) > td.tabelle_nummer.tab_games");
                spiele_achter = spiele_tabellenachter.text();
                Elements differenz_tabellenachter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(9) > td.tabelle_nummer.tab_diff");
                differenz_achter = differenz_tabellenachter.text();
                Elements punkte_tabellenachter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(9) > td.tabelle_nummer.tab_points > strong");
                punkte_achter = punkte_tabellenachter.text();
                //Platz 9
                Elements tabellenneunter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(10) > td.tab_team_name > a");
                neunter = tabellenneunter.text();
                Elements spiele_tabellenneunter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(10) > td.tabelle_nummer.tab_games");
                spiele_neunter = spiele_tabellenneunter.text();
                Elements differenz_tabellenneunter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(10) > td.tabelle_nummer.tab_diff");
                differenz_neunter = differenz_tabellenneunter.text();
                Elements punkte_tabellenneunter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(10) > td.tabelle_nummer.tab_points > strong");
                punkte_neunter = punkte_tabellenneunter.text();
                //Platz 10
                Elements tabellenzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(11) > td.tab_team_name > a");
                zehnter = tabellenzehnter.text();
                Elements spiele_tabellenzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(11) > td.tabelle_nummer.tab_games");
                spiele_zehnter = spiele_tabellenzehnter.text();
                Elements differenz_tabellenzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(11) > td.tabelle_nummer.tab_diff");
                differenz_zehnter= differenz_tabellenzehnter.text();
                Elements punkte_tabellenzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(11) > td.tabelle_nummer.tab_points > strong");
                punkte_zehnter = punkte_tabellenzehnter.text();
                //Platz 11
                Elements tabellenelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(12) > td.tab_team_name > a");
                elfter = tabellenelfter.text();
                Elements spiele_tabellenelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(12) > td.tabelle_nummer.tab_games");
                spiele_elfter = spiele_tabellenelfter.text();
                Elements differenz_tabellenelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(12) > td.tabelle_nummer.tab_diff");
                differenz_elfter = differenz_tabellenelfter.text();
                Elements punkte_tabellenelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(12) > td.tabelle_nummer.tab_points > strong");
                punkte_elfter = punkte_tabellenelfter.text();
                //Platz 12
                Elements tabellenzwoelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(13) > td.tab_team_name > a");
                zwoelfter = tabellenzwoelfter.text();
                Elements spiele_tabellenzwoelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(13) > td.tabelle_nummer.tab_games");
                spiele_zwoelfter = spiele_tabellenzwoelfter.text();
                Elements differenz_tabellenzwoelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(13) > td.tabelle_nummer.tab_diff");
                differenz_zwoelfter = differenz_tabellenzwoelfter.text();
                Elements punkte_tabellenzwoelfter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(13) > td.tabelle_nummer.tab_points > strong");
                punkte_zwoelfter = punkte_tabellenzwoelfter.text();
                //Platz 13
                Elements tabellendreizehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(14) > td.tab_team_name > a");
                dreizehnter = tabellendreizehnter.text();
                Elements spiele_tabellendreizehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(14) > td.tabelle_nummer.tab_games");
                spiele_dreizehnter = spiele_tabellendreizehnter.text();
                Elements differenz_tabellendreizehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(14) > td.tabelle_nummer.tab_diff");
                differenz_dreizehnter = differenz_tabellendreizehnter.text();
                Elements punkte_tabellendreizehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(14) > td.tabelle_nummer.tab_points > strong");
                punkte_dreizehnter = punkte_tabellendreizehnter.text();
                //Platz 14
                Elements tabellenvierzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(15) > td.tab_team_name > a");
                vierzehnter = tabellenvierzehnter.text();
                Elements spiele_tabellenvierzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(15) > td.tabelle_nummer.tab_games");
                spiele_vierzehnter = spiele_tabellenvierzehnter.text();
                Elements differenz_tabellenvierzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(15) > td.tabelle_nummer.tab_diff");
                differenz_vierzehnter = differenz_tabellenvierzehnter.text();
                Elements punkte_tabellenvierzehnter = doc.select("div#ip_content_wrapper table.liga_tabelle.content_table_std.liga_tabelle_tabelle > tbody > tr:nth-child(15) > td.tabelle_nummer.tab_points > strong");
                punkte_vierzehnter = punkte_tabellenvierzehnter.text();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        [USER=3517]@override[/USER]
        protected void onPostExecute(Void result) {

            //progressBar.setVisibility(View.INVISIBLE);
            //scrollView.setVisibility(View.VISIBLE);

            //Platz 1
            TextView tabellenerster = (TextView) getView().findViewById(R.id.tabellenerster);
            tabellenerster.setText(erster);
            TextView spiele_tabellenerster = (TextView) getView().findViewById(R.id.spiele_tabellenerster);
            spiele_tabellenerster.setText(spiele_erster);
            TextView differenz_tabellenerster = (TextView) getView().findViewById(R.id.differenz_tabellenerster);
            differenz_tabellenerster.setText(differenz_erster);
            TextView punkte_tabellenerster = (TextView) getView().findViewById(R.id.punkte_tabellenerster);
            punkte_tabellenerster.setText(punkte_erster);
            //Platz 2
            TextView tabellenzweiter = (TextView) getView().findViewById(R.id.tabellenzweiter);
            tabellenzweiter.setText(zweiter);
            TextView spiele_tabellenzweiter = (TextView) getView().findViewById(R.id.spiele_tabellenzweiter);
            spiele_tabellenzweiter.setText(spiele_zweiter);
            TextView differenz_tabellenzweiter = (TextView) getView().findViewById(R.id.differenz_tabellenzweiter);
            differenz_tabellenzweiter.setText(differenz_zweiter);
            TextView punkte_tabellenzweiter = (TextView) getView().findViewById(R.id.punkte_tabellenzweiter);
            punkte_tabellenzweiter.setText(punkte_zweiter);
            //Platz 3
            TextView tabellendritter = (TextView) getView().findViewById(R.id.tabellendritter);
            tabellendritter.setText(dritter);
            TextView spiele_tabellendritter = (TextView) getView().findViewById(R.id.spiele_tabellendritter);
            spiele_tabellendritter.setText(spiele_dritter);
            TextView differenz_tabellendritter = (TextView) getView().findViewById(R.id.differenz_tabellendritter);
            differenz_tabellendritter.setText(differenz_dritter);
            TextView punkte_tabellendritter = (TextView) getView().findViewById(R.id.punkte_tabellendritter);
            punkte_tabellendritter.setText(punkte_dritter);
            //Platz 4
            TextView tabellenvierter = (TextView) getView().findViewById(R.id.tabellenvierter);
            tabellenvierter.setText(vierter);
            TextView spiele_tabellenvierter = (TextView) getView().findViewById(R.id.spiele_tabellenvierter);
            spiele_tabellenvierter.setText(spiele_vierter);
            TextView differenz_tabellenvierter = (TextView) getView().findViewById(R.id.differenz_tabellenvierter);
            differenz_tabellenvierter.setText(differenz_vierter);
            TextView punkte_tabellenvierter = (TextView) getView().findViewById(R.id.punkte_tabellenvierter);
            punkte_tabellenvierter.setText(punkte_vierter);
            //Platz 5
            TextView tabellenfuenfter = (TextView) getView().findViewById(R.id.tabellenfuenfter);
            tabellenfuenfter.setText(fuenfter);
            TextView spiele_tabellenfuenfter = (TextView) getView().findViewById(R.id.spiele_tabellenfuenfter);
            spiele_tabellenfuenfter.setText(spiele_fuenfter);
            TextView differenz_tabellenfuenfter = (TextView) getView().findViewById(R.id.differenz_tabellenfuenfter);
            differenz_tabellenfuenfter.setText(differenz_fuenfter);
            TextView punkte_tabellenfuenfter = (TextView) getView().findViewById(R.id.punkte_tabellenfuenfter);
            punkte_tabellenfuenfter.setText(punkte_fuenfter);
            //Platz 6
            TextView tabellensechster = (TextView) getView().findViewById(R.id.tabellensechster);
            tabellensechster.setText(sechster);
            TextView spiele_tabellensechster = (TextView) getView().findViewById(R.id.spiele_tabellensechster);
            spiele_tabellensechster.setText(spiele_sechster);
            TextView differenz_tabellensechster = (TextView) getView().findViewById(R.id.differenz_tabellensechster);
            differenz_tabellensechster.setText(differenz_sechster);
            TextView punkte_tabellensechster = (TextView) getView().findViewById(R.id.punkte_tabellensechster);
            punkte_tabellensechster.setText(punkte_sechster);
            //Platz 7
            TextView tabellensiebter = (TextView) getView().findViewById(R.id.tabellensiebter);
            tabellensiebter.setText(siebter);
            TextView spiele_tabellensiebter = (TextView) getView().findViewById(R.id.spiele_tabellensiebter);
            spiele_tabellensiebter.setText(spiele_siebter);
            TextView differenz_tabellensiebter = (TextView) getView().findViewById(R.id.differenz_tabellensiebter);
            differenz_tabellensiebter.setText(differenz_siebter);
            TextView punkte_tabellensiebter = (TextView) getView().findViewById(R.id.punkte_tabellensiebter);
            punkte_tabellensiebter.setText(punkte_siebter);
            //Platz 8
            TextView tabellenachter = (TextView) getView().findViewById(R.id.tabellenachter);
            tabellenachter.setText(achter);
            TextView spiele_tabellenachter = (TextView) getView().findViewById(R.id.spiele_tabellenachter);
            spiele_tabellenachter.setText(spiele_achter);
            TextView differenz_tabellenachter = (TextView) getView().findViewById(R.id.differenz_tabellenachter);
            differenz_tabellenachter.setText(differenz_achter);
            TextView punkte_tabellenachter = (TextView) getView().findViewById(R.id.punkte_tabellenachter);
            punkte_tabellenachter.setText(punkte_achter);
            //Platz 9
            TextView tabellenneunter = (TextView) getView().findViewById(R.id.tabellenneunter);
            tabellenneunter.setText(neunter);
            TextView spiele_tabellenneunter = (TextView) getView().findViewById(R.id.spiele_tabellenneunter);
            spiele_tabellenneunter.setText(spiele_neunter);
            TextView differenz_tabellenneunter = (TextView) getView().findViewById(R.id.differenz_tabellenneunter);
            differenz_tabellenneunter.setText(differenz_neunter);
            TextView punkte_tabellenneunter = (TextView) getView().findViewById(R.id.punkte_tabellenneunter);
            punkte_tabellenneunter.setText(punkte_neunter);
            //Platz 10
            TextView tabellenzehnter = (TextView) getView().findViewById(R.id.tabellenzehnter);
            tabellenzehnter.setText(zehnter);
            TextView spiele_tabellenzehnter = (TextView) getView().findViewById(R.id.spiele_tabellenzehnter);
            spiele_tabellenzehnter.setText(spiele_zehnter);
            TextView differenz_tabellenzehnter = (TextView) getView().findViewById(R.id.differenz_tabellenzehnter);
            differenz_tabellenzehnter.setText(differenz_zehnter);
            TextView punkte_tabellenzehnter = (TextView) getView().findViewById(R.id.punkte_tabellenzehnter);
            punkte_tabellenzehnter.setText(punkte_zehnter);
            //Platz 11
            TextView tabellenelfter = (TextView) getView().findViewById(R.id.tabellenelfter);
            tabellenelfter.setText(elfter);
            TextView spiele_tabellenelfter = (TextView) getView().findViewById(R.id.spiele_tabellenelfter);
            spiele_tabellenelfter.setText(spiele_elfter);
            TextView differenz_tabellenelfter = (TextView) getView().findViewById(R.id.differenz_tabellenelfter);
            differenz_tabellenelfter.setText(differenz_elfter);
            TextView punkte_tabellenelfter = (TextView) getView().findViewById(R.id.punkte_tabellenelfter);
            punkte_tabellenelfter.setText(punkte_elfter);
            //Platz 12
            TextView tabellenzwoelfter = (TextView) getView().findViewById(R.id.tabellenzwoelfter);
            tabellenzwoelfter.setText(zwoelfter);
            TextView spiele_tabellenzwoelfter = (TextView) getView().findViewById(R.id.spiele_tabellenzwoelfter);
            spiele_tabellenzwoelfter.setText(spiele_zwoelfter);
            TextView differenz_tabellenzwoelfter = (TextView) getView().findViewById(R.id.differenz_tabellenzwoelfter);
            differenz_tabellenzwoelfter.setText(differenz_zwoelfter);
            TextView punkte_tabellenzwoelfter = (TextView) getView().findViewById(R.id.punkte_tabellenzwoelfter);
            punkte_tabellenzwoelfter.setText(punkte_zwoelfter);
            //Platz 13
            TextView tabellendreizehnter = (TextView) getView().findViewById(R.id.tabellendreizehnter);
            tabellendreizehnter.setText(dreizehnter);
            TextView spiele_tabellendreizehnter = (TextView) getView().findViewById(R.id.spiele_tabellendreizehnter);
            spiele_tabellendreizehnter.setText(spiele_dreizehnter);
            TextView differenz_tabellendreizehnter = (TextView) getView().findViewById(R.id.differenz_tabellendreizehnter);
            differenz_tabellendreizehnter.setText(differenz_dreizehnter);
            TextView punkte_tabellendreizehnter = (TextView) getView().findViewById(R.id.punkte_tabellendreizehnter);
            punkte_tabellendreizehnter.setText(punkte_dreizehnter);
            //Platz 14
            TextView tabellenvierzehnter = (TextView) getView().findViewById(R.id.tabellenvierzehnter);
            tabellenvierzehnter.setText(vierzehnter);
            TextView spiele_tabellenvierzehnter = (TextView) getView().findViewById(R.id.spiele_tabellenvierzehnter);
            spiele_tabellenvierzehnter.setText(spiele_vierzehnter);
            TextView differenz_tabellenvierzehnter = (TextView) getView().findViewById(R.id.differenz_tabellenvierzehnter);
            differenz_tabellenvierzehnter.setText(differenz_vierzehnter);
            TextView punkte_tabellenvierzehnter = (TextView) getView().findViewById(R.id.punkte_tabellenvierzehnter);
            punkte_tabellenvierzehnter.setText(punkte_vierzehnter);
        }
    }
}

Danke für Eure Hilfe!
 
Zuletzt bearbeitet von einem Moderator:
Hi,

vielen Dank für die schnelle Antwort.

Also meine onPostExecute() sieht dann so aus:

protected void onPostExecute(Void result) {

progressBar.setVisibility(View.INVISIBLE);
scrollView.setVisibility(View.VISIBLE);

...

Wenn ich die App dann starte stürzt sie ab. ... keeps stopping ...
 
Wenn ich die App dann starte stürzt sie ab. ... keeps stopping ...


Richtig , weil du wie bereits oben erwähnt , innerhalb des Threads direkt auf UI Elemente zugreifst , das geht nicht so.
(Siehe meinen Link)

Schau dir mal deinen errorlog an , das steht dann auch so da drinnen
 
Zuletzt bearbeitet:
Hi,

das heißt, den new Thread() in die Methode onPostExecute()?

new Thread() {
public void run() {
runOnUiThread(new Runnable() {
@override
public void run() {
progressBar.setVisibility(View.INVISIBLE);
scrollView.setVisibility(View.VISIBLE);
}
});
}
}.start();
 
Hallo
eigentlich machst du ja die Ausgaben in der in onPostExecute. Die ja im UI Thread läuft..
Denke daran liegt es nicht.

Ich bin mir nicht sicher ob du mit getView den richtigen Kontext bekommst..
Du bist in einem Fragment und brauchst den Kontext der Activity oder der View in der du bist..

Prüfe mal ob deine Views auch bei findviewbyid gefunden werden also nicht null sind.
 
Zuletzt bearbeitet:
Hi,

also ich habe es jetzt mal so probiert, allerdings funktioniert das auch nicht:

public class Tabelle1 extends Fragment {

private ProgressBar progressBar;
private ScrollView scrollView;

public Tabelle1() {
// Required empty public constructor
}

@override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
new Erste().execute();
progressBar = progressBar.findViewById(R.id.progressbar);
scrollView = scrollView.findViewById(R.id.tabelle1);

// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_tabelle1, container, false);
}

@override
protected void onPostExecute(Void result) {

progressBar.setVisibility(View.INVISIBLE);
scrollView.setVisibility(View.VISIBLE);
...

Wäre es eventuell möglich anstatt die Visibility zu ändern auch ein völlig neues Layout zu laden? Also in der onPostExecute()?
 
Hallo
was soll eigentlich das ?
scrollView = scrollView.findViewById(R.id.tabelle1);
Damit wirst du nie die id sei deiner view finden.

Code:
View   view;
ScrollView scrollView;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
  
    view = inflater.inflate(R.layout.fragment_tabelle1, container, false);
    scrollView = view.findViewById(R.id.tabelle1);


   return view;
}
[doublepost=1568749830,1568747615][/doublepost]Und in der onPostExecute Methode benutzt du auch die View die du in der oncradeview erstellt hast um damit dein findviewbyid zu machen nicht getView.
 

Ähnliche Themen

OnkelLon
Antworten
13
Aufrufe
1.923
OnkelLon
OnkelLon
D
Antworten
23
Aufrufe
2.383
Data2006
D
Zurück
Oben Unten