Ich habe versucht, eine einfache benutzerdefinierte Listenansicht mit einem Basisadapter zu erstellen. Wenn ich die App starte, stoppte sie. Wenn ich den Fehler mit der getView-Methode überprüfe. Ich habe viele Male versucht, es zu reparieren, aber es hat nicht funktioniert. Bitte helfen Sie mir, eine Lösung für dieses Problem zu finden.Android App gestoppt, wenn benutzerdefinierte Listenansicht ruft
Meine benutzerdefinierte Adapterklasse.
public class activity_one extends Activity {
ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity1);
list=(ListView)findViewById(R.id.listView2);
list.setAdapter(new VivzAdapter(this));
}
class SingleRow{
ListView list;
String polices;
String policenum;
SingleRow(String polices, String policenum) {
this.polices = polices;
this.policenum=policenum;
}
}
class VivzAdapter extends BaseAdapter {
ArrayList<SingleRow> list;
Context context;
VivzAdapter(Context c){
list=new ArrayList<SingleRow>();
Resources res=c.getResources();
String[] polices=res.getStringArray(R.array.polices);
String[] policenum=res.getStringArray(R.array.policenum);
for(int i=0;i<10;i++)
{
list.add(new SingleRow(polices[i], policenum[i]));
}
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row= inflater.inflate(R.layout.listview_singlerow,viewGroup,false);
TextView polices=(TextView) row.findViewById(R.id.org_name);
TextView policenum=(TextView)row.findViewById(R.id.cn_num);
SingleRow temp=list.get(i);
polices.setText(temp.polices);
policenum.setText(temp.policenum);
return row;
}
}}
Benutzerdefinierte Liste Ansicht xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffffff">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView2"
android:src="@drawable/hello_avator"
android:layout_alignParentTop="true"
android:layout_margin="10dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Company Name"
android:id="@+id/org_name"
android:layout_alignTop="@+id/imageView2"
android:layout_toRightOf="@+id/imageView2"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="000-0000000"
android:id="@+id/cn_num"
android:layout_alignLeft="@+id/org_name"
android:layout_alignStart="@+id/org_name"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/org_name"
android:layout_alignBottom="@+id/imageView2" />
Logcat
java.lang.NullPointerException
at com.example.abc.helloapp.activity_one$VivzAdapter.getView(activity_one.java:116)
at android.widget.AbsListView.obtainView(AbsListView.java:2267)
at android.widget.ListView.measureHeightOfChildren(ListView.java:1244)
at android.widget.ListView.onMeasure(ListView.java:1156)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148)
at android.view.View.measure(View.java:15172)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1848)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1100)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1273)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4212)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
at android.view.Choreographer.doCallbacks(Choreographer.java:555)
at android.view.Choreographer.doFrame(Choreographer.java:525)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
wo logcat Fehler ist? – Yazan
@Yazan -updated – venura
Welche Zeile ist 'activity_one.java: 116'? Bitte markieren Sie es auf dem Code über – Yazan