Note that there are some explanatory texts on larger screens.

plurals
  1. PONullPointException on making an arraylist of objects in android
    text
    copied!<p>I'm new in android programming . I'm writing an android program which has two tabs: detailstab in which user fill a form and hit save button. listtab in which display what user insert in edittexts control in details tab. to implement this i made this classes:</p> <p>detail java class :</p> <pre><code>import android.widget.RadioButton; import android.widget.TextView; public class detail { public TextView tvName; public TextView tvAdr; public TextView tvNote; public RadioButton rb_0; public RadioButton rb_1; public RadioButton rb_2; public int radioValue; //public final TextView tvRadioValue=null; } </code></pre> <p>details activity class in which i make an arraylist and add objects from detail:</p> <pre><code>import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; public class details extends Activity { public ArrayList&lt;detail&gt; detaillist=new ArrayList&lt;detail&gt;(); public EditText etName; public EditText etAdr; public EditText etNote; public RadioGroup rg; public RadioButton rb_0; public RadioButton rb_1; public RadioButton rb_2; static details detailsActivity; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); detailsActivity=this; setContentView(R.layout.details_tab); Button btnSave=(Button) findViewById(R.id.button1); //define an arraylist to add detail object to it etName=(EditText) findViewById(R.id.editText1); etAdr=(EditText) findViewById(R.id.editText2); etNote=(EditText) findViewById(R.id.editText3); rg=(RadioGroup) findViewById(R.id.radioGroup1); rb_0=(RadioButton) findViewById(R.id.radio0); rb_1=(RadioButton) findViewById(R.id.radio1); rb_2=(RadioButton) findViewById(R.id.radio2); btnSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { final detail d=new detail(); makeDetailList(d); //clear textboxes clear(etName); clear(etAdr); clear(etNote); rg.check(R.id.radio0); } }); } public void clear(View v) { EditText edittext=new EditText(null); edittext.setText(""); } public ArrayList&lt;detail&gt; makeDetailList(detail d){ d.tvName.setText(etName.getText()); d.tvAdr.setText(etAdr.getText()); //d.tvNote.setText(etNote.getText()); if(rb_0.isSelected()) { d.radioValue=0; //d.tvRadioValue.setText(rb_0.getText()); } else if (rb_1.isSelected()) { d.radioValue=1; //d.tvRadioValue.setText(rb_1.getText()); } else if (rb_1.isSelected()) { d.radioValue=2; //d.tvRadioValue.setText(rb_2.getText()); } detaillist.add(d); return detaillist; } public static details getInstance(){ return detailsActivity; } } </code></pre> <p>and finally lists activity class this class contains a listview to display data from details tab:</p> <pre><code> public class list extends Activity { //details details=new details(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.list_tab); ListView lv=(ListView) findViewById(R.id.listView1); //details details=new details(); //ArrayList mylist=details.getInstance().detaillist; MyAdapter adapter=new MyAdapter(this,android.R.layout.simple_list_item_1 , R.id.textView1, details.getInstance().detaillist); lv.setAdapter(adapter); // ArrayAdapter&lt;details&gt; adapter=new ArrayAdapter&lt;details&gt;(this,R.layout.my_list,R.id.textView1,R.id.textView2,)); } private class MyAdapter extends ArrayAdapter&lt;String&gt;{ public MyAdapter(Context context, int resource, int textViewResourceId, ArrayList&lt;detail&gt; detaillist) { super(context, resource, textViewResourceId); // TODO Auto-generated constructor stub } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater=(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View row=inflater.inflate(R.layout.my_list, parent,false); ArrayList&lt;detail&gt; items=details.getInstance().detaillist; ImageView ivR=(ImageView) row.findViewById(R.id.imageView1); TextView tvN=(TextView) row.findViewById(R.id.textView1); TextView tvA=(TextView) row.findViewById(R.id.textView2); tvN.setText(items.get(position).tvName.getText()); tvA.setText(items.get(position).tvAdr.getText()); if(items.get(position) != null) { if(items.get(position).radioValue==0) { ivR.setImageResource(R.drawable.t); } else if(items.get(position).radioValue==1) { ivR.setImageResource(R.drawable.t); } else if(items.get(position).radioValue==2) { ivR.setImageResource(R.drawable.t); } } return row; } } } </code></pre> <p>I receive a NullPointException error onmakeDetailList(d) method . where is the problem? I really appreciate your help best regards</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload