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/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 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); } } コード
回答2件
あなたの回答
tips
プレビュー