Android Scroll View:如何在滚动视图中加载约2500个吉他和弦(即" Em7")

时间:2015-02-24 14:47:31

标签: android

该应用程序需要一个可滚动的和弦列表(即“Em7”,“C#”等),我不确定将它们放入ScrollView的最佳方法。我可以在代码中轻松生成一个列表(大约有2500个项目......),所以归结为我是否需要“大文本”小部件的所有开销,或者我可以在列表中只有可点击的文本?这个ScrollView在一个Activity上,包含一些文本字段和另外两个包含和弦修饰符列表的ScrollView。

这是我到目前为止所拥有的:          

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/new_song_name"
        android:id="@+id/textView3"

        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:layout_alignTop="@+id/textView3"
        android:layout_toRightOf="@+id/textView3"
        android:layout_toEndOf="@+id/textView3"
        android:layout_marginLeft="29dp"
        android:layout_marginStart="29dp"
        android:width="400dp"
        style="@style/Base.Widget.AppCompat.EditText"
        android:textStyle="bold"/>
    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="100dp"
        android:layout_height="400dp">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical">
        </LinearLayout>
        </ScrollView>

<android.support.v7widget.GridLayout
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:layout_marginTop="63dp"
    android:layout_below="@+id/editText"
    android:layout_toLeftOf="@+id/editText"
    android:layout_toStartOf="@+id/editText"
    android:id="@+id/view">

    </android.support.v7widget.GridLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        ***android:text="C"***
        //the line above is representative of the list items.
        android:id="@+id/textView4"
        android:layout_alignTop="@+id/view"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="40dp"/>


</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

老兄,为什么你不使用ListView和ListAdapter? 并从datebase加载ChordList; 所以它会滚动。

ArrayList<String> chords = new ArrayList<>();
chords = getFromDb;
ListView chordList = (ListView) findViewById(R.id.list_item);
chordList.setAdapter(new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_list_item_1, chords ));`

`