本文介绍了NullPointerException异常在getView中适配器延伸BaseAdapter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的ListView填充在tabwidget.My列表搜索包含一个图像和textview.Without TabWidget它的工作原理罚款,但在TabWidget提示错误。我有我的getview要价较高误差
I am populating listview for search in tabwidget.My list contain an image and textview.Without TabWidget it works fines but in TabWidget it gives error .I have error in getview My locat is
08-07 16:24:44.300: E/AndroidRuntime(20166): FATAL EXCEPTION: main
08-07 16:24:44.300: E/AndroidRuntime(20166): java.lang.NullPointerException
08-07 16:24:44.300: E/AndroidRuntime(20166): at com.example.project.SearchDictionaryActivity$MyCustomAdapter.getView(SearchDictionaryActivity.java:392)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.AbsListView.obtainView(AbsListView.java:2485)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.ListView.onMeasure(ListView.java:1161)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1385)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureVertical(LinearLayout.java:670)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.onMeasure(LinearLayout.java:563)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1385)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureVertical(LinearLayout.java:670)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.onMeasure(LinearLayout.java:563)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
08-07 16:24:44.300: E/AndroidRuntime(20166): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2242)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1385)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureVertical(LinearLayout.java:670)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.onMeasure(LinearLayout.java:563)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1385)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.measureVertical(LinearLayout.java:670)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.LinearLayout.onMeasure(LinearLayout.java:563)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4712)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
08-07 16:24:44.300: E/AndroidRuntime(20166): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2242)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.View.measure(View.java:12842)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1240)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2632)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.os.Handler.dispatchMessage(Handler.java:99)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.os.Looper.loop(Looper.java:137)
08-07 16:24:44.300: E/AndroidRuntime(20166): at android.app.ActivityThread.main(ActivityThread.java:4517)
08-07 16:24:44.300: E/AndroidRuntime(20166): at java.lang.reflect.Method.invokeNative(Native Method)
08-07 16:24:44.300: E/AndroidRuntime(20166): at java.lang.reflect.Method.invoke(Method.java:511)
08-07 16:24:44.300: E/AndroidRuntime(20166): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
08-07 16:24:44.300: E/AndroidRuntime(20166): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
08-07 16:24:44.300: E/AndroidRuntime(20166): at dalvik.system.NativeStart.main(Native Method)
我的search_dictionary_item_item.xml是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingTop="10dp" >
<ImageView
android:id="@+id/ImageView01"
android:layout_width="50dp"
android:layout_height="60dp" >
</ImageView>
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:textColor="#0099CC"
android:textSize="20dp"
android:textStyle="bold" >
</TextView>
</LinearLayout>
我行的 392 是
at com.example.project.SearchDictionaryActivity$MyCustomAdapter.getView(SearchDictionaryActivity.java:392)
是
TextView textview = (TextView) row.findViewById(R.id.TextView01);
我已经试过2建议
i have tried 2 suggestion
1
public View getView(int position, View convertView, ViewGroup parent)
{
View row=convertView;
Context c = null;
if(convertView==null){
LayoutInflater inflater = getLayoutInflater(null);
row = inflater.inflate(R.layout.search_dictionary_item_item, parent, false);
}
TextView textview = (TextView) row.findViewById(R.id.TextView01);
ImageView imageview = (ImageView) row.findViewById(R.id.ImageView01);
textview.setText(data_text[position]);
imageview.setImageBitmap(data_image[position]);
return (row);
}
放置空getLayoutInflater(NULL);我得到
for placing null getLayoutInflater(null); I get
The method getLayoutInflater() in the type Activity is not applicable for the arguments (null)
2.Sugesstion
public View getView(int position, View convertView, ViewGroup parent)
{
// LayoutInflater inflater = getLayoutInflater();
View row;
LayoutInflater inflater = (LayoutInflater) convertView.getContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE );
row = inflater.inflate(R.layout.search_dictionary_item_item, parent, false);
TextView textview = (TextView) row.findViewById(R.id.TextView01);
ImageView imageview = (ImageView) row.findViewById(R.id.ImageView01);
textview.setText(data_text[position]);
imageview.setImageBitmap(data_image[position]);
return (row);
}
这两种亘古不带logcat的给定上述工作
推荐答案
尝试此链接定制适配器的
try this link for custom Adapter here
这篇关于NullPointerException异常在getView中适配器延伸BaseAdapter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!