データベースに何もないときに、ListView に「NO ALARM ADDED」のようなメッセージを出力しようとしています。
I have set EmptyView but still it is showing me a single row with default values of row layout i have defined(issue)
空のビューが表示されません。
私のXMLレイアウト:-
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ListView
android:id="@+id/listView_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:divider="#66F5F5F5"
android:dividerHeight="1dp"
android:focusable="true"
android:paddingTop="5dp" >
</ListView>
<TextView
android:id="@+id/empty"
style="@android:style/TextAppearance.Large"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="NO ALARM ADDED" >
</TextView>
</RelativeLayout>
私のカスタム アダプター GetView メソッドはここにあります:-
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi = convertView;
ViewHolder vh;
if (convertView == null) {
vi = inflater.inflate(R.layout.row_layout, null);
vh = new ViewHolder();
vh.time = (TextView) vi.findViewById(R.id.time);
vh.isEnabled = (ImageView) vi.findViewById(R.id.switch_img_rowLayout);
vh.days = new TextView[7];
for (int i = 0; i < vh.id.length; i++) {
vh.days[i] = new TextView(context);
vh.days[i] = (TextView) vi.findViewById(vh.id[i]);
}
vi.setTag(vh);
} else
vh = (ViewHolder) vi.getTag();
Typeface titleFont = Typeface.createFromAsset(main.getAssets(), "digital1.ttf");
vh.time.setTypeface(titleFont);
vh.time.setPaintFlags(vh.time.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG);
vh.isEnabled.setOnClickListener(this);
if (list.size() > 0) {
model = null;
model = (ListModel) list.get(position);
vh.time.setText(model.getTime());
// vh.note.setText(model.getNote());
String day[] = model.getRepetition().split(",");
for (int i = 0; i < day.length; i++) {
for (int j = 0; j < 7; j++) {
if (day[i].equalsIgnoreCase(vh.days[j].getText().toString())) {
vh.days[j].setTextColor(Color.GREEN);
}
}
}
} else {
}
return vi;
}
May Main.java コードはここにあります:-
listView.setAdapter(swipe_adapter_undoable);
listView.setOnItemClickListener(new onItemClickListnerForLitView());
listView.setFocusable(true);
listView.setClickable(true);
listView.setEmptyView(findViewById(R.id.empty));
swipe_adapter_undoable.notifyDataSetChanged();
メッセージが表示されないのにデフォルトのレイアウト行が表示されるのを誰でも助けてもらえますか?