私のアクティビティには、ボタンが 1 つあります。ボタンをクリックすると、 title & を含むカスタム ダイアログが表示されますListView
。
アダプターを設定しましListView
たが、getView()
メソッドが呼び出されませんでした。私の配列はArrayList<String>
& そのサイズは 3 です。
これが私のコードです。
Activity.java 内 ::
notification_btn = (Button) findViewById(R.id.notifications_btn);
notification_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Dialog dialog = new Dialog(Home.this,android.R.style.Theme_Translucent_NoTitleBar);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.notifications_layout);
ListView list = (ListView) dialog.findViewById(R.id.listView_notifications);
TextView title = (TextView) dialog.findViewById(R.id.dialogTitle);
TextView footer = (TextView) dialog.findViewById(R.id.notification_footer);
title.setText("Title");
NotificationAdapter adapter = new NotificationAdapter(Home.this,array);
list.setAdapter(adapter);
dialog.show();
}
});
NotificationAdapter.java ::
public class NotificationAdapter extends BaseAdapter{
ArrayList<String> items;
private Context context;
private LayoutInflater mInflater;
static class ViewHolder {
TextView text;
}
public NotificationAdapter(Context context, ArrayList<String> items) {
this.context = context;
this.items = items;
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int arg0) {
return items.get(arg0);
}
@Override
public long getItemId(int arg0) {
return arg0;
}
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) { // if it's not recycled, initialize some
// attributes
convertView = mInflater.inflate(R.layout.notifiation_row, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text_notification);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
try {
holder.text.setText(items.get(position));
} catch (Exception e) {
VLogger.getLogger().info("Exception occured :: "+e);
}
return convertView;
}
}
なぜgetView()
メソッドが呼び出されないのですか? 理由はわかりませんでした。助けてください。