質問編集履歴

1 追記

退会済みユーザー

退会済みユーザー

2017/08/19 16:53  投稿

ListViewの使い方
ListViewを実装したく見本を見ながらコードを書いてみたのですが画面が切り替わってもリストが表示されずに困っています。
どこかおかしいところはありますか?
よろしくお願いします。
 
```
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:orientation="horizontal"
             android:paddingBottom="10dp"
             android:paddingTop="10dp">
 
   <ImageView
       android:id="@+id/list1"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list2"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list3"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list4"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list5"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list6"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list7"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list8"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list9"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list10"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list11"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
   <ImageView
       android:id="@+id/list12"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
//省略
   <ImageView
       android:id="@+id/list13"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       android:src="@drawable/1"/>
 
 
</LinearLayout>
コード
```
 
```
import android.widget.ImageView;
 
public class ListItem {
 
   private int ListId;
 
   private ImageView imageView1;
 
   private int imageId1;
   private int imageId2;
   private int imageId3;
   private int imageId4;
   private int imageId5;
   private int imageId6;
   private int imageId7;
   private int imageId8;
   private int imageId9;
   private int imageId10;
   private int imageId11;
   private int imageId12;
   private int imageId13;
 
   public int getImageId1() {
       return imageId1;
   }
 
   public void setImageId1(int imageId1) {
       this.imageId1 = imageId1;
   }
   public int getImageId2() {
       return imageId2;
  //省略
   }
 
   public void setImageId2(int imageId2) {  
       this.imageId2 = imageId2;  
   }  
 
   public int getImageId3() {  
       return imageId3;  
   }  
 
   public void setImageId3(int imageId3) {  
       this.imageId3 = imageId3;  
   }  
 
   public int getImageId4() {  
       return imageId4;  
   }  
 
   public void setImageId4(int imageId4) {  
       this.imageId4 = imageId4;  
   }  
 
   public int getImageId5() {  
       return imageId5;  
   }  
 
   public void setImageId5(int imageId5) {  
       this.imageId5 = imageId5;  
   }  
 
   public int getImageId6() {  
       return imageId6;  
   }  
 
   public void setImageId6(int imageId6) {  
       this.imageId6 = imageId6;  
   }  
 
   public int getImageId7() {  
       return imageId7;  
   }  
 
   public void setImageId7(int imageId7) {  
       this.imageId7 = imageId7;  
   }  
 
   public int getImageId8() {  
       return imageId8;  
   }  
 
   public void setImageId8(int imageId8) {  
       this.imageId8 = imageId8;  
   }  
 
   public int getImageId9() {  
       return imageId9;  
   }  
 
   public void setImageId9(int imageId9) {  
       this.imageId9 = imageId9;  
   }  
 
   public int getImageId10() {  
       return imageId10;  
   }  
 
   public void setImageId10(int imageId10) {  
       this.imageId10 = imageId10;  
   }  
 
   public int getImageId11() {  
       return imageId11;  
   }  
 
   public void setImageId11(int imageId11) {  
       this.imageId11 = imageId11;  
   }  
 
   public int getImageId12() {  
       return imageId12;  
   }  
 
   public void setImageId12(int imageId12) {  
       this.imageId12 = imageId12;  
   }  
 
   public int getImageId13() {
       return imageId13;
   }
 
   public void setImageId13(int imageId13) {
       this.imageId13 = imageId13;
   }
}
 
コード
```
```
import android.content.Context;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
 
import java.util.ArrayList;
 
public class ListArrayAdapter extends ArrayAdapter<ListItem>{
 
   private LayoutInflater layoutInflater;
   public ListArrayAdapter(Context c, int id, ArrayList<ListItem> listItems){
       super(c, id, listItems);
       this.layoutInflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   }
 
   @Override
   public View getView(int pos, View convertView, ViewGroup parent){
       if (convertView == null){
           convertView = layoutInflater.inflate(R.layout.quiz_list,parent,false);
       }
 
       ListItem listItem =(ListItem)getItem(pos);
 
       ((ImageView) convertView.findViewById(R.id.list1)).setImageResource(listItem.getImageId1());
       ((ImageView) convertView.findViewById(R.id.list2)).setImageResource(listItem.getImageId2());
       ((ImageView) convertView.findViewById(R.id.list3)).setImageResource(listItem.getImageId3());
       ((ImageView) convertView.findViewById(R.id.list4)).setImageResource(listItem.getImageId4());
       ((ImageView) convertView.findViewById(R.id.list5)).setImageResource(listItem.getImageId5());
       ((ImageView) convertView.findViewById(R.id.list6)).setImageResource(listItem.getImageId6());
       ((ImageView) convertView.findViewById(R.id.list7)).setImageResource(listItem.getImageId7());
       ((ImageView) convertView.findViewById(R.id.list8)).setImageResource(listItem.getImageId8());
       ((ImageView) convertView.findViewById(R.id.list9)).setImageResource(listItem.getImageId9());
       ((ImageView) convertView.findViewById(R.id.list10)).setImageResource(listItem.getImageId10());
       ((ImageView) convertView.findViewById(R.id.list11)).setImageResource(listItem.getImageId11());
       ((ImageView) convertView.findViewById(R.id.list12)).setImageResource(listItem.getImageId12());
       ((ImageView) convertView.findViewById(R.id.list13)).setImageResource(listItem.getImageId13());
 
       return convertView;
   }
}
コード
```  
```  
public void setQuestion() {  
 
       ListView listView = new ListView(this);  
       ArrayList<ListItem> items = new ArrayList<>();  
       ListItem listItem = new ListItem();  
       int[] list1 = new int[100];  
       int[] list2 = new int[100];  
       int[] list3 = new int[100];  
       int[] list4 = new int[100];  
       int[] list5 = new int[100];  
       int[] list6 = new int[100];  
       int[] list7 = new int[100];  
       int[] list8 = new int[100];  
       int[] list9 = new int[100];  
       int[] list10 = new int[100];  
       int[] list11 = new int[100];  
       int[] list12 = new int[100];  
       int[] list13 = new int[100];  
       for (int i = 0; i < 100; i++) {  
           QuizOpenHelper quizOpenHelper = new QuizOpenHelper(this);  
           SQLiteDatabase sqLiteDatabase = quizOpenHelper.getReadableDatabase();  
           quizNo = i + 1;  
           String sql = "select abc1,abc2,abc3,abc4,abc5,abc6,abc7,abc8,abc9,abc10,abc11,abc12,abc13 from quiz where _id =" + quizNo;  
           Cursor cursor = sqLiteDatabase.rawQuery(sql, null);  
           cursor.moveToFirst();  
           abc1 = cursor.getInt(cursor.getColumnIndex("abc1"));  
           abc2 = cursor.getInt(cursor.getColumnIndex("abc2"));  
           abc3 = cursor.getInt(cursor.getColumnIndex("abc3"));  
           abc4 = cursor.getInt(cursor.getColumnIndex("abc4"));  
           abc5 = cursor.getInt(cursor.getColumnIndex("abc5"));  
           abc6 = cursor.getInt(cursor.getColumnIndex("abc6"));  
           abc7 = cursor.getInt(cursor.getColumnIndex("abc7"));  
           abc8 = cursor.getInt(cursor.getColumnIndex("abc8"));  
           abc9 = cursor.getInt(cursor.getColumnIndex("abc9"));  
           abc10 = cursor.getInt(cursor.getColumnIndex("abc10"));  
           abc11 = cursor.getInt(cursor.getColumnIndex("abc11"));  
           abc12 = cursor.getInt(cursor.getColumnIndex("abc12"));  
           abc13 = cursor.getInt(cursor.getColumnIndex("abc13"));  
           switch (abc1) {  
               case 1:  
                   list1[i] = R.drawable.a1;  
                   break;  
               case 2:  
                   break;  
                   list1[i] = R.drawable.a2;  
           }  
           switch (abc2) {  
               case 1:  
                   list2[i] = R.drawable.a1;  
                   break;  
               case 2:  
                   list2[i] = R.drawable.a2;  
                   break;  
      }  
//省略  
           listItem.setImageId1(list1[i]);  
           listItem.setImageId2(list2[i]);  
           listItem.setImageId3(list3[i]);  
           listItem.setImageId4(list4[i]);  
           listItem.setImageId5(list5[i]);  
           listItem.setImageId6(list6[i]);  
           listItem.setImageId7(list7[i]);  
           listItem.setImageId8(list8[i]);  
           listItem.setImageId9(list9[i]);  
           listItem.setImageId10(list10[i]);  
           listItem.setImageId11(list11[i]);  
           listItem.setImageId12(list12[i]);  
           listItem.setImageId13(list13[i]);  
           items.add(listItem);  
       }  
       ListArrayAdapter listArrayAdapter = new ListArrayAdapter(this ,0, items);  
       listView.setAdapter(listArrayAdapter);  
   }  
}  
 
コード  
```
  • Java

    20514 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • XML

    978 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

  • Android Studio

    5559 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る