该应用程序需要一个可滚动的和弦列表(即“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>
答案 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 ));`
`