1

私のアプリケーションでは、それぞれが異なるデータを持つ 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>
4

0 に答える 0