getView
ビューホルダーとそれに要素を設定/アクセスする際に問題が発生しています。NullPointerException
ビューホルダーに を設定しようとすると、一貫して を受け取りtextView
ます。データをテストし、プロセスを段階的にログに記録しましたが、何らかの理由でビューが正しく設定されていないように見えますか、それともアクセスしようとしている要素がそうではありませんか? logcat ショーの最初の数行:
04-13 20:55:13.620: W/dalvikvm(23329): threadid=1: thread exiting with uncaught exception (group=0x40dd8930)
04-13 20:55:13.644: E/AndroidRuntime(23329): FATAL EXCEPTION: main
04-13 20:55:13.644: E/AndroidRuntime(23329): java.lang.NullPointerException
04-13 20:55:13.644: E/AndroidRuntime(23329): at com.idealiner.metrosleepuniversal.adapter.LocationModelGridAdapter.getView(LocationModelGridAdapter.java:99)
99 行目は、textView 要素にアクセスしようとしたときです。
viewHolder.textView.setText(locationModel.col_line);
locationModel.col_line
null 値を返さないことをテストしました。Viewholder
どういうわけかアクセスできないようです...またはtextViewが見つからないのですか?よくわかりません。
getView メソッド全体:
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
ViewHolder viewHolder;
if (view == null || view.getTag() == null) {
view = mInflater.inflate(R.layout.grid_view, parent, false);
viewHolder = new ViewHolder();
// viewHolder.imageView = (ImageView) view.findViewById(R.id.grid_image);
viewHolder.textView = (TextView) view.findViewById(R.id.grid_label);
view.setTag(viewHolder);
Log.v("GetViewAdapter", "View is null, setup viewholder");
}else {
viewHolder = (ViewHolder) view.getTag();
Log.v("GetViewAdapter", "View is not null, setup viewholder");
}
lineModel locationModel = mLine[position];
Log.v("GetViewAdapter", "mline has a position of: " + position);
Log.v("GetViewAdapter", "mline has a name of: " + locationModel.col_line);
if(locationModel!=null) {
viewHolder.textView.setText(locationModel.col_line);
}
return view;
}
クラスの残りのコードは、https ://gist.github.com/markbratanov/5380875 にあります。
私はこれについて一日中考えていたので、アドバイスやヒントをいただければ幸いです。ありがとう。