i am new to android,help with the code how add EditText value to ListView using BaseAdapter by clicking Button. when i enter value in EditText and by clicking Add Button, value must place in ListViw(ListView must have BaseAdapter only). here tried with code found with error,help me to complete my code
public class AddlistActivity extends Activity {
ListView lstName;
Button btnAdd;
EditText edtName;
String myData;
Context context=AddlistActivity.this;
ArrayList<ListDataActivity>list=new ArrayList<ListDataActivity>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_addlist);
lstName=(ListView)findViewById(R.id.lst_name);
btnAdd=(Button)findViewById(R.id.btn_add);
edtName=(EditText)findViewById(R.id.edt_name);
getDataInList();
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myData=edtName.getText().toString().trim();
getDataInList();
((BaseAdapter)lstName.getAdapter()).notifyDataSetChanged();
}
});
lstName.setAdapter(new MyBaseAdapterActivity(context,list));
}
private void getDataInList()
{
for (int i = 0 ; i < myData.length();i++)
{
ListDataActivity listDataActivity = new ListDataActivity();
listDataActivity.setMyData(myData);
list.add(listDataActivity);
}
}}
ListDataActivity.java
public class ListDataActivity {
String myData;
public String getMyData()
{
return myData;
}
public void setMyData(String myDataa)
{
myData=myDataa;
}}
MyBaseAdapterActivity.java
public class MyBaseAdapterActivity extends BaseAdapter {
ArrayList<ListDataActivity> list =new ArrayList<ListDataActivity>();
LayoutInflater inflater;
Context context;
public MyBaseAdapterActivity(Context context,ArrayList<ListDataActivity>list)
{
this.list=list;
this.context=context;
inflater = LayoutInflater.from(this.context);
}
@Override
public int getCount() {
return list.size();
}
@Override
public ListDataActivity getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MyViewHolder myViewHolder;
HashMap<String , Long >hashMap= new HashMap<String , Long>();
if (convertView==null)
{
convertView=inflater.inflate(R.layout.activity_addlist,parent,false);
myViewHolder=new MyViewHolder(convertView);
convertView.setTag(myViewHolder);
}else {
myViewHolder =(MyViewHolder)convertView.getTag();
}
myViewHolder.editText=detials(convertView,R.id.edt_name,list.get(position).getMyData());
return convertView;
}
private EditText detials(View v , int resId , String text)
{
EditText et =(EditText)v.findViewById(resId);
et.setText(text);
return et;
}
private static class MyViewHolder{
EditText editText;
public MyViewHolder(View item)
{
}
}}
logcat
11-17 15:26:19.885 2787-2787/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.rahul.listviewwithbaseadapter, PID: 2787
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.rahul.listviewwithbaseadapter/com.example.rahul.listviewwithbaseadapter.AddlistActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.example.rahul.listviewwithbaseadapter.AddlistActivity.getDataInList(AddlistActivity.java:48)
at com.example.rahul.listviewwithbaseadapter.AddlistActivity.onCreate(AddlistActivity.java:33)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)