# Inhaltsverzeichnis erstellen



## brilzi89 (2. Mrz 2019)

Hallo zusammen.

Ich arbeite momentan an meiner ersten App und komme gerade an einer Stelle nicht weiter.
Und zwar möchte ich ein Handbuch für Berufskraftfahrer erstellen, und würde gerne ein Inhaltsverzeichnis erstellen, wo wenn man z.b auf ein TextView (1.1 Lenk und Ruhezeiten) drück, und man automatisch zu einem Passenden Layout geleitet wird.
Ist das mit einer Methode möglich?

Danke schon mal im Vorraus


----------



## mihe7 (3. Mrz 2019)

Mal eine grundsätzliche Überlegung: Du willst Text mit Links, also Hypertext. Für Hypertext gibt es bereits eine durchaus etablierte Auszeichnungssprache, die Hypertext Markup Languge, kurz HTML. Folglich wäre die Frage: warum willst Du eine App und baust nicht einfach eine Seite? Die kann auch offline verwendet werden (z. B. via ServiceWorker). 

Ansonsten: wenn es nur darum geht, auf den Klick auf eine TextView zu reagieren, kannst Du einen setOnClickListener registrieren. Zusätzlich muss das clickable-Attribut der TextView auf true gesetzt sein.


----------



## brilzi89 (3. Mrz 2019)

mihe7 hat gesagt.:


> Mal eine grundsätzliche Überlegung: Du willst Text mit Links, also Hypertext. Für Hypertext gibt es bereits eine durchaus etablierte Auszeichnungssprache, die Hypertext Markup Languge, kurz HTML. Folglich wäre die Frage: warum willst Du eine App und baust nicht einfach eine Seite? Die kann auch offline verwendet werden (z. B. via ServiceWorker).
> 
> Ansonsten: wenn es nur darum geht, auf den Klick auf eine TextView zu reagieren, kannst Du einen setOnClickListener registrieren. Zusätzlich muss das clickable-Attribut der TextView auf true gesetzt sein.



erstmal Danke mihe7 das du mir hiflst 

mit html kenne ich mich nicht so gut aus, ich bekomme es gerade mal so hin eine Wordpress seite zu erstellen.
Geplant ist zwar eine Homepage, aber erst etwas später. Die Fahrer sollen dieses Handbuch schneller zur Hand haben, und das geht denke ich ganz gut mit einer App. Wegen dem setOnClickListener, die TextView soll nicht nur reagieren sondern mit dann automatisch in dem selben Layout (ScrollView), zu der richtigen Position leiten z.b dem dazugehörigen Image.


----------



## mihe7 (3. Mrz 2019)

Das sollte via scrollTo bzw. smoothScrollTo funktionieren (s. https://stackoverflow.com/questions...-scroll-a-scroll-view-to-a-specific-edit-text) aber mal ernsthaft: ein HTML-Seite wäre für Dein Vorhaben wesentlich geeigneter und HTML lernt man relativ schnell.


----------



## brilzi89 (3. Mrz 2019)

mihe7 hat gesagt.:


> Das sollte via scrollTo bzw. smoothScrollTo funktionieren (s. https://stackoverflow.com/questions...-scroll-a-scroll-view-to-a-specific-edit-text) aber mal ernsthaft: ein HTML-Seite wäre für Dein Vorhaben wesentlich geeigneter und HTML lernt man relativ schnell.



ok schaue dann mal danach, erstelle vielleicht ne Wordpress Seite  und arbeite dann wie du gesagt hast mit Hyperlinks. Danke für deine Hilfe


----------



## mrBrown (3. Mrz 2019)

WordPress ist nicht gleichzusetzen mit HTML 

Wenn du XML kennst (was du für Android kennen dürftest), hast du die minimal notwendigen HTML-Kenntnisse vermutlich in ein paar Minuten drauf.
Hat bei sowas einige Vorteile gegenüber einer nativen App (Plattform unabhängig, deutlich leichter wartbar,...) und ist, wenn man es passend umsetzt, nicht mehr wirklich von einer nativen App unterscheidbar.


----------



## brilzi89 (3. Mrz 2019)

mrBrown hat gesagt.:


> WordPress ist nicht gleichzusetzen mit HTML
> 
> Wenn du XML kennst (was du für Android kennen dürftest), hast du die minimal notwendigen HTML-Kenntnisse vermutlich in ein paar Minuten drauf.
> Hat bei sowas einige Vorteile gegenüber einer nativen App (Plattform unabhängig, deutlich leichter wartbar,...) und ist, wenn man es passend umsetzt, nicht mehr wirklich von einer nativen App unterscheidbar.



Also müsste ich eigentlich keine Ganze Homepage aufbauen?
Hättest du vll ein Link oder so wo es etwas erklärt wird.
Danke dir schon mal im Vorraus


----------



## mrBrown (3. Mrz 2019)

brilzi89 hat gesagt.:


> Also müsste ich eigentlich keine Ganze Homepage aufbauen?


Naja, eine einzelne HTML-Datei ist auch schon eine "ganze Homepage" 



brilzi89 hat gesagt.:


> Hättest du vll ein Link oder so wo es etwas erklärt wird.


Puh, da gibts sehr viel...
zB https://developer.mozilla.org/de/docs/Learn/HTML/Einführung_in_HTML


----------



## mihe7 (3. Mrz 2019)

Und natürlich https://selfhtml.org. Habe da schon Ewigkeiten nicht mehr reingesehen und muss sagen, dass ich die alte Version wesentlich übersichtlicher fand, aber so ist es halt.

Eigentlich brauchst Du nur einen Texteditor, der UTF-8 speichern kann, dann legst Du Dir eine Datei an:


Spoiler: handbuch.html





```
<!DOCTYPE html>
<html lang="de">
  <head>
   <meta charset="utf-8" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Handbuch für Berufskraftfahrer</title>
   <style>
    body {
        font-family: sans-serif;
        font-size: 12pt;
    }
    ol.inhaltsverzeichnis li {
        list-style-type: none;  
    }
    .spacer { height:100vh; }
   </style>
  </head>
  <body>
      <h1>Handbuch für Berufskraftfahrer</h1>
      <nav>
        <h2>Inhalt</h2>
        <ol class="inhaltsverzeichnis">
            <li><a href="#inhalt1">1. Gesetzliche Regelungen</a>
              <ol>
                <li><a href="#inhalt1_1">1.1 Lenk- und Ruhezeiten</a></li>
                <li><a href="#inhalt1_2">1.2 Blabla</a></li>
              </ol>
            </li>
            <li><a href="#inhalt2">2. Blabla</a>
              <ol>
                <li><a href="#inhalt2_1">1.1 Blabla usw.</a></li>
                <li><a href="#inhalt2_2">1.2 Noch mehr Blabla</a></li>
              </ol>
            </li>
        </ol>    
      </nav>
      <div class="spacer"></div>
      <main>
        <h2><a name="inhalt1">1. Gesetzliche Regelungen</a></h2>
        <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
        <div class="spacer"></div>
        <h3><a name="inhalt1_1">1.1. Lenk- und Ruhezeiten</a></h3>
        <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
        <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
        <div class="spacer"></div>
      </main>
  </body>
</html>
```



Und dann spielst Du einfach mal mit der Datei. Die dort eingefügten "spacer" dienen nur dazu, die Seite künstlich länger werden zu lassen, damit das Scrollen gezeigt werden kann. Natürlich solltest Du den "style" in separate CSS-Dateien auslagern etc. - die Datei dient eben nur als Starter. 

Im Prinzip siehst Du recht schnell, was die einzelnen Tags bedeuten zu haben: h1, h2, h3 - Überschrift 1./2./3. Ordnung, ol - steht für "ordered list", li für "list item", p für Paragraph (Absatz). Interessant ist der a-Tag (a dürfte "anchor" stehen), mit dem lassen sich Verknüpfungen auf ein Ziel anzeigen (href-Attribut) als auch Verweis-Ziele im Dokument setzen (name-Attribut). Hinzu kommen nav und main, die der semantischen Gliederung des Dokuments dienen.

Jetzt brauchst Du noch table und img, dann hast Du schon fast alles zusammen.


----------



## brilzi89 (3. Mrz 2019)

mihe7 hat gesagt.:


> Und natürlich https://selfhtml.org. Habe da schon Ewigkeiten nicht mehr reingesehen und muss sagen, dass ich die alte Version wesentlich übersichtlicher fand, aber so ist es halt.
> 
> Eigentlich brauchst Du nur einen Texteditor, der UTF-8 speichern kann, dann legst Du Dir eine Datei an:
> 
> ...


----------



## mihe7 (4. Mrz 2019)

Sehe ich es nur nicht oder fehlt da was in Deiner Antwort?


----------



## brilzi89 (4. Mrz 2019)

mihe7 hat gesagt.:


> Sehe ich es nur nicht oder fehlt da was in Deiner Antwort?


Fehlt tatsächlich was. Wollte mich bei dir ganz doll bedanken


----------



## mihe7 (4. Mrz 2019)

Ach so, wenn es weiter nichts ist...  Danke.


----------

