Prabakaran V
- Forum posts: 1
Apr 21, 2016, 6:34:28 AM via Website
Apr 21, 2016 6:34:28 AM via Website
Help
Getting error while using tableview in android. Getting below error while running
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TableLayout.addView(android.view.View, android.view.ViewGroup$LayoutParams)' on a null object reference
My code
private class AsyncCallWS extends AsyncTask {
TableLayout tl = (TableLayout) findViewById(R.id.tl1);
@Override
protected void onPreExecute() {
Log.i(TAG, "onPreExecute");
}
@Override
protected String doInBackground(String... params) {
Log.i(TAG, "doInBackground");
String NAMESPACE = "example";
String URL = "example";
String METHOD_NAME = "example";
String SOAP_ACTION = "example";
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("PortalId", "0");
request.addProperty("ModuleId", "1884");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
androidHttpTransport.call(SOAP_ACTION, envelope);
ks = (KvmSerializable) envelope.bodyIn;
// final SoapObject ret = (SoapObject) ks.getProperty(0);
Log.i(TAG, "Result Login: " + ks);
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
final ListView myListView = (ListView)findViewById(R.id.lv_main);
LinearLayout ll = (LinearLayout) findViewById(R.id.lin);
final ArrayList<String> al = new ArrayList<String>();
final ArrayAdapter<String> ad;
ad=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,al);
myListView.setAdapter(ad);
Log.i(TAG, "onPostExecute");
final SoapObject ret = (SoapObject) ks.getProperty(0);
final GlobalClass globalVariable = (GlobalClass) getApplicationContext();
for (int i = 0; i < ret.getPropertyCount(); i++) {
tr = new TableRow(MainActivity.this);
tr.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
SoapObject Filas = (SoapObject) ret.getProperty(i);
final String id = Filas.getProperty("GroupId") + "";
String name = Filas.getProperty("GroupName") + "";
CamposEntity cs = new CamposEntity();
cs.Id = id;
cs.Name = name;
Log.i(TAG, "CamposEntity ");
Log.i(TAG, "Result Login: " + id);
Log.i(TAG, "Result Login: " + name);
final TextView tv2 = new TextView(MainActivity.this);
tv2.setText(name);
tv2.setTextColor(Color.GRAY);
tv2.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tv2.setPadding(5, 5, 5, 0);
tv2.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
tr.addView(tv2);
// ll.addView(tv2);
final TextView tv1 = new TextView(MainActivity.this);
//ll.addView(tv1);
tv1.setTextColor(Color.GRAY);
tv1.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
tv1.setPadding(5, 5, 5, 0);
tv1.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
tr.addView(tv1);
final ToggleButton tb1 = new ToggleButton(MainActivity.this);
// Boolean b = n.add(id);
// Log.i(TAG, "add list: " +b );
tb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked == true) {
String str = id;
// Integer cout = myListView.getCount()+ 1;
// String str1 = cout.toString().concat("."+str);
al.add(myListView.getCount(), str);
//Collections.sort(al);
ad.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_SHORT).show();
Log.i(TAG, "array list: " + str);
Log.i(TAG, "array list: " + al);
tv1.setText(id);
} else {
for (int i = 0; i < al.size(); i++) {
if (al.get(i) == id) {
al.remove(i);
ad.notifyDataSetChanged();
}
}
Log.i(TAG, "after remove: " + al);
tv1.setText("none");
}
}
});
tr.addView(tb1);
// ll.addView(tb1);
tl.addView(tr, new TableLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
}
final Button button = new Button(MainActivity.this);
button.setText("Next");
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
StringBuilder builder = new StringBuilder();
for (String details : al) {
builder.append(details + ",");
}
globalVariable.setName(builder.toString());
Log.i(TAG, "Result Login all textview: " + builder.toString());
Log.i(TAG, "array list all: " + al);
Intent i = new Intent(MainActivity.this, SecondScreen.class);
i.putExtra("al", al);
startActivity(i);
}
});
ll.addView(button);
}
}
Any suggestions please...
Thanks in advance.
Recommended editorial content
With your consent, external content is loaded here.
By clicking on the button above, you agree that external content may be displayed to you. Personal data may be transmitted to third-party providers in the process. You can find more information about this in our Privacy Policy.