views:

40

answers:

1

I find myself stuck in something I think would be really easy to solve. My app contains a lot of TextViews and ImageViews, and one TextView contains the content listed. I want each element of the displayed content internally linked to the respective TextView. Probably the TextView isn't the right element to use, but I have trouble finding the right element.

The internal link should work exactly like internal links in html-documents... is this possible to achieve in Android?

strings.xml:

<string name="c3">3. Contents</string>
<string name="c4">1. Abstract
\n3. Contents
\n4. List of Abbreviations
\n5. Introduction
\n6. Materials &amp; Methods
\n6.1 Literature Selection
\n6.2 Method
\n6.3 What is Android?
\n6.3.1 Dalvik Virtual Machine and Android Applications
\n6.3.2 Android Structure, Java and XML
\n6.3.3 Android Versions
\n6.4 The Development Environment
\n6.4.1 Android SDK
\n6.4.2 Eclipse IDE
\n6.4.3 Android Virtual Device
\n6.4.4 Secure Digital Card
\n6.5 “Hello World!” as Test of IDE
\n6.6 Test Application
\n6.7 Developing Strategy
\n7. Result
\n7.1 Facebook Connect
\n7.1.1 Facebook Application
\n7.1.2 Facebook Connect for Android
\n7.2 Networking
\n7.3 Data Synchronization
\n8. Discussion
\n9. Conclusion
\n10. References
\n10.1 Internet References
\n10.2 Lecture References\n\n
</string>

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/smoke"
    android:scrollbars="vertical"
>
    <ScrollView android:id="@+id/ScrollView01"
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent"
        android:scrollbars="none"
    >
        <LinearLayout android:id="@+id/LinearLayout02"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="4px"
            android:paddingRight="4px"
        >

        <TextView  
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:text="@string/a"
            android:textColor="@color/black"
            android:gravity="center_horizontal"
            android:textSize="16dp"
            android:paddingBottom="2dp"
            android:paddingTop="20dp"
            android:scrollbars="vertical"    
        />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:text="@string/b"
            android:gravity="center_horizontal"
            android:textColor="@color/black"
            android:scrollbars="vertical"
        />
        <TextView  
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:text="@string/c1"
            android:textColor="@color/black"
            android:textSize="20dp"
            android:paddingBottom="2dp"
            android:scrollbars="vertical"
        />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:text="@string/c2"
            android:textColor="@color/black"
            android:scrollbars="vertical"
         />
+2  A: 

If I were you, I'd convert your content into HTML with internal links and use a WebView to display it. I have no idea how you would pull off what you are trying to do any other way. Moreover, that's the typical approach used for ebooks, which appears to be what you are trying to create.

CommonsWare
When editing my question just this approach came to my head and I believe you're right. I already have the content on a web-page, so it would be simple. Thanx for your answer! BR
BennySkogberg
+1 for this elegant solution.
Octavian Damiean