- Fragments with custom list adapter causing crash on inflate view
- W/dalvikvm( 540): threadid=1: thread exiting with uncaught exception (group=0x4
- 09951f8)
- E/AndroidRuntime( 540): FATAL EXCEPTION: main
- E/AndroidRuntime( 540): java.lang.NullPointerException
- E/AndroidRuntime( 540): at com.msi.shortwave.FreqAdaptor.getView(FreqAda
- ptor.java:43)
- E/AndroidRuntime( 540): at android.widget.AbsListView.obtainView(AbsList
- View.java:2033)
- E/AndroidRuntime( 540): at android.widget.ListView.makeAndAddView(ListVi
- ew.java:1772)
- E/AndroidRuntime( 540): at android.widget.ListView.fillDown(ListView.jav
- a:672)
- E/AndroidRuntime( 540): at android.widget.ListView.fillFromTop(ListView.
- java:732)
- E/AndroidRuntime( 540): at android.widget.ListView.layoutChildren(ListVi
- ew.java:1625)
- E/AndroidRuntime( 540): at android.widget.AbsListView.onLayout(AbsListVi
- ew.java:1863)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.setChildFrame(Lin
- earLayout.java:1628)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.layoutVertical(Li
- nearLayout.java:1486)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.onLayout(LinearLa
- yout.java:1399)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.setChildFrame(Lin
- earLayout.java:1628)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.layoutHorizontal(
- LinearLayout.java:1617)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.onLayout(LinearLa
- yout.java:1401)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.setChildFrame(Lin
- earLayout.java:1628)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.layoutVertical(Li
- nearLayout.java:1486)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.onLayout(LinearLa
- yout.java:1399)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.widget.FrameLayout.onLayout(FrameLayo
- ut.java:431)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.setChildFrame(Lin
- earLayout.java:1628)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.layoutVertical(Li
- nearLayout.java:1486)
- E/AndroidRuntime( 540): at android.widget.LinearLayout.onLayout(LinearLa
- yout.java:1399)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.widget.FrameLayout.onLayout(FrameLayo
- ut.java:431)
- E/AndroidRuntime( 540): at android.view.View.layout(View.java:11158)
- E/AndroidRuntime( 540): at android.view.ViewGroup.layout(ViewGroup.java:
- 4197)
- E/AndroidRuntime( 540): at android.view.ViewRootImpl.performTraversals(V
- iewRootImpl.java:1462)
- E/AndroidRuntime( 540): at android.view.ViewRootImpl.handleMessage(ViewR
- ootImpl.java:2382)
- E/AndroidRuntime( 540): at android.os.Handler.dispatchMessage(Handler.ja
- va:99)
- E/AndroidRuntime( 540): at android.os.Looper.loop(Looper.java:137)
- E/AndroidRuntime( 540): at android.app.ActivityThread.main(ActivityThrea
- d.java:4340)
- E/AndroidRuntime( 540): at java.lang.reflect.Method.invokeNative(Native
- Method)
- E/AndroidRuntime( 540): at java.lang.reflect.Method.invoke(Method.java:5
- 11)
- E/AndroidRuntime( 540): at com.android.internal.os.ZygoteInit$MethodAndA
- rgsCaller.run(ZygoteInit.java:784)
- E/AndroidRuntime( 540): at com.android.internal.os.ZygoteInit.main(Zygot
- eInit.java:551)
- E/AndroidRuntime( 540): at dalvik.system.NativeStart.main(Native Method)
- W/ActivityManager( 84): Force finishing activity com.msi.shortwave/.main
- <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <ListView android:id="@+id/ListView01" android:layout_width="fill_parent"
- android:layout_height="100dp"
- android:layout_weight="0"
- android:cacheColorHint="#00000000"></ListView>
- </LinearLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout android:id="@+id/LinearLayout01"
- android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
- android:paddingLeft="10sp" android:paddingRight="10sp"
- android:layout_height="20dp"
- android:orientation="vertical" android:paddingTop="2sp">
- <TextView android:layout_height="wrap_content"
- android:layout_width="fill_parent" android:id="@+id/tvStationname"
- android:text="BBC World Service" android:typeface="sans" android:textSize="16sp" android:textColor="#990200" android:textStyle="bold"></TextView>
- <LinearLayout android:id="@+id/LinearLayout02"
- android:layout_height="wrap_content"
- android:layout_width="fill_parent">
- <TextView android:id="@+id/TextView01" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textStyle="bold"
- android:text="Start:" android:textSize="13sp" android:textColor="#000000" android:paddingRight="5sp"></TextView>
- <TextView android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="00:00" android:textColor="#000000"
- android:id="@+id/tvStarttime" android:textSize="13sp"
- ></TextView>
- <TextView android:id="@+id/TextView02" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textStyle="bold" android:textColor="#000000"
- android:text="End:" android:textSize="13sp" android:paddingLeft="5sp" android:paddingRight="5sp"></TextView>
- <TextView android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="01:00" android:textColor="#000000"
- android:id="@+id/tvEndtime" android:textSize="13sp"></TextView>
- <TextView android:id="@+id/TextView03" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textStyle="bold"
- android:text="Target Area:" android:textSize="13sp" android:textColor="#000000"
- android:paddingLeft="5sp" android:paddingRight="5sp"></TextView>
- <TextView android:id="@+id/tvTarget" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textColor="#000000"
- android:text="LA, NA" android:textSize="13sp"></TextView>
- </LinearLayout>
- <LinearLayout android:id="@+id/LinearLayout02"
- android:layout_height="wrap_content"
- android:layout_width="fill_parent">
- <TextView android:id="@+id/TextView01" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:textStyle="bold" android:textColor="#000000"
- android:text="Frequencies " android:textSize="13sp"></TextView>
- <HorizontalScrollView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:scrollbars ="none"
- >
- <TextView android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:text="12312, 12314, 14131, 12312"
- android:id="@+id/tvFreqs" android:textColor="#000000" android:textSize="13sp" android:layout_weight="1" android:singleLine="true" ></TextView>
- </HorizontalScrollView>
- </LinearLayout>
- list = (ListView) v.findViewById(R.id.ListView01);
- list.setAdapter(adapter);
- package com.msi.shortwave;
- import java.util.List;
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.View.OnClickListener;
- import android.widget.BaseAdapter;
- import android.widget.Button;
- import android.widget.TextView;
- public class FreqAdaptor extends BaseAdapter implements OnClickListener {
- private Context context;
- private LayoutInflater inflate;
- private List<Freqlist> listFreq;
- public FreqAdaptor(Context context, List<Freqlist> listFreq, LayoutInflater inflate) {
- this.context = context;
- this.listFreq = listFreq;
- this.inflate = inflate;
- }
- public int getCount() {
- return listFreq.size();
- }
- public Object getItem(int position) {
- return listFreq.get(position);
- }
- public long getItemId(int position) {
- return position;
- }
- public View getView(int position, View convertView, ViewGroup viewGroup) {
- Freqlist entry = listFreq.get(position);
- if (convertView == null) {
- convertView = inflate.inflate(R.layout.row, null);
- //crash is here. inflate is the one used by the view on my results.java file.
- // I have also tried with LayoutInflater inflate = (LayoutInflater) context
- // .getSystemService(Context.LAYOUT_INFLATER_SERVICE); but I get the
- //same result
- }
- TextView tvStationname = (TextView) convertView.findViewById(R.id.tvStationname);
- tvStationname.setText(entry.getStationname());
- TextView tvStarttime = (TextView) convertView.findViewById(R.id.tvStarttime);
- tvStarttime.setText(entry.getStarttime());
- TextView tvEndtime = (TextView) convertView.findViewById(R.id.tvEndtime);
- tvEndtime.setText(entry.getEndtime());
- TextView tvTarget = (TextView) convertView.findViewById(R.id.tvTarget);
- tvTarget.setText(entry.getTargets());
- TextView tvFreqs = (TextView) convertView.findViewById(R.id.tvFreqs);
- tvFreqs.setText(entry.getFreqs());
- return convertView;
- }
- @Override
- public void onClick(View view) {
- Freqlist entry = (Freqlist) view.getTag();
- }
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- v = inflater.inflate(R.layout.results, container, false);
- Bundle bund1 = getArguments();
- passinflate = inflater;
- String time = bund1.getString("time");
- String target = bund1.getString("target");
- String station = bund1.getString("station");
- String freq = bund1.getString("freq");
- new searchdb().execute(time,target,station,freq);
- return v;
- }