私のアプリケーションでは、それぞれが異なるデータを持つ 2 つのリストを作成する必要があります。LinearLayout 内の TableLayout に 2 つのリストビューを次々と追加するような UI を設計しました。データを2つの文字列配列に保存し、arrayadapterを使用してリストビューに入力しました.リストビューにはテキストビューと画像が含まれています.問題は
1.コードにエラーは表示されていませんが、リストは奇妙な方法で入力されています. 1番目のリストアイテムが表示され、2番目、3番目、4番目のリストアイテムは表示されず、5番目が表示され、6番目は表示されず、7番目からは問題ありません。上にスクロールすると、リストにすべてのリスト項目が表示されます。2.各リストには、独自のスクロール コントロールが必要です。リスト「A」をスクロールする場合と同様に、リスト「B」ではなくスクロールする必要があり、その逆も同様です。ここにコードを添付しました。前もって感謝します。
メインスクリーン.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_LinearLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableLayout
android:id="@+id/request_Table"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@color/black"
android:orientation="vertical"
android:padding="20dp" >
<TableRow
android:id="@+id/request_Row1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/blue"
android:orientation="vertical" >
<TextView
android:id="@+id/request_TextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="REQUESTS"
android:textColor="@color/white"
android:textStyle="bold" />
<ImageView
android:id="@+id/widget163"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</TableRow>
<TableRow
android:id="@+id/request_Row2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/gray"
android:orientation="horizontal" >
<ListView
android:id="@+id/request_ListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:scrollbarAlwaysDrawVerticalTrack="true" />
</TableRow>
</TableLayout>
<TableLayout
android:id="@+id/offered_Table"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@color/black"
android:orientation="vertical"
android:padding="20dp" >
<TableRow
android:id="@+id/offered_Row1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/blue"
android:orientation="horizontal" >
<TextView
android:id="@+id/offered_TextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="OFFERED"
android:textColor="@color/white"
android:textStyle="bold" />
</TableRow>
<TableRow
android:id="@+id/offered_Row2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ListView
android:id="@+id/offered_ListView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/gray"
android:padding="5dp"
android:scrollbars="vertical"
android:smoothScrollbar="true" />
</TableRow>
</TableLayout>
</LinearLayout>
メインスクリーン.java
public class MainMenu extends Activity {
RequestAdapter mRequestAdapter;
ListView mListView_req ;
public class RequestData {
int icon;
String list_text;
public RequestData( String mText) {
super();
//this.icon=image;
this.list_text=mText;
}
}
private RequestData[] getListItems(){
Resources mRes = getResources();
String[] sListItems= mRes.getStringArray(R.array.request_list);
int listsize = sListItems.length;
RequestData[] obj = new RequestData[listsize];
int size = obj.length;
for(int i=0; i<size; i++){
obj[i] = new RequestData(sListItems[i]);
}
return obj;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainmenu_screen);
mListView_req= (ListView)findViewById(R.id.request_ListView) ;
mRequestAdapter = new RequestAdapter(this,R.layout.listitem, getListItems());
mListView_req.setAdapter(mRequestAdapter);
}
class RequestAdapter extends ArrayAdapter{
private RequestData rList[]= null;
Context context;
public RequestAdapter(Context context, int textViewResourceId,
RequestData[] data) {
super(context, textViewResourceId, data);
// TODO Auto-generated constructor stub
this.rList= data;
}
@Override
public RequestData getItem(int position){
return rList[position];
}
@Override
public View getView(int pos, View convertView, ViewGroup parent) {
View row= convertView;
if (row== null){
row = getLayoyutinflater().inflate(R.layout.listitem,null);
}
else {
RequestData items = getItem(pos);
TextView text= (TextView) row.findViewById(R.id.List_Text);
if(text!= null){
text.setText(items.list_text);
}
}
return row;
}
listitem.xml :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="150dp">
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:id="@+id/text"/>
<ImageView>
android:layout_width="40dp"
android:layout_height="wrap_content"
android:src="@drawable/arrow"
android:layout_marginRight="10dp"/>
</LinearLayout>