Я создал пример макета вкладки на сайте разработчиков Android Макет вкладки в Android 2.2. Хотя пример работает как рекламируется, я не могу прокручивать текстовые представления, которые я поместил в одно из действий. Объекты TextView были созданы динамически в данной деятельности, если это имеет значение. Я попытался обернуть различные части компонентов в main.xml с помощью ScrollView, но я либо получаю ошибку сборки, либо Force Close при запуске. Прикрепленный код, который реализует textViews и его XML, а также файл main.xml. Я не могу публиковать изображения, так как я новичок. Любые предложения с благодарностью.
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<!-- android:padding="5dp" -->
</LinearLayout>
</TabHost>
Источник, который создает мои TextViews на вкладке:
public class Activity2 extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
DisplayTexts(20);
}
private void DisplayTexts(int length){
if(length == 0)
return;
LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
for(int i = 0; i < length; i++)
{
TextView tv = new TextView(getApplicationContext());
registerForContextMenu(tv);
tv.setTextSize(30);
tv.setText("TextView " + String.valueOf(i));
tv.setLayoutParams(params);
layout.addView(tv);
tv.setId(i);
}
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
this.addContentView(layout, layoutParam);
}
XML-файл для вышеуказанной деятельности:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>