title: UnsupportedOperationException in creating custom ListView in Android
body: <p>i wanted to have a custom listView so I did this:</p>
  
  <p>Created an Activity:</p>
  
  <pre><code>public class PRS_MainList_Act extends ListActivity {
      MainListAdapter mladp;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_prs__main_list_);
          ArrayList&lt;MainMenuItem&gt; menuItems = new ArrayList&lt;MainMenuItem&gt;();
          menuItems.add(new MainMenuItem(getResources().getString(R.string.main_list_connectivity), getResources().getString(R.string.main_list_connectivityDesc)));
          this.mladp = new MainListAdapter(this, R.layout.man_list_item, R.id.textView1, menuItems);
          setListAdapter(mladp);
  
      }
  }
  </code></pre>
  
  <p>Create a class for menu items:</p>
  
  <pre><code>public class MainMenuItem {
  
      private String itemText;
      private String itemDescription;
      private String itemIMG;
      private int itemWeight;
      private String itemAssociatedActivity;
  
      public MainMenuItem(String itemText, String itemDescription) {
          this.itemText = itemText;
          this.itemDescription = itemDescription;
      }
  
      public String getItemText() {
          return itemText;
      }
      public void setItemText(String itemText) {
          this.itemText = itemText;
      }
      public String getItemIMG() {
          return itemIMG;
      }
      public void setItemIMG(String itemIMG) {
          this.itemIMG = itemIMG;
      }
      public int getItemWeight() {
          return itemWeight;
      }
      public void setItemWeight(int itemWeight) {
          this.itemWeight = itemWeight;
      }
      public String getItemAssociatedActivity() {
          return itemAssociatedActivity;
      }
      public void setItemAssociatedActivity(String itemAssociatedActivity) {
          this.itemAssociatedActivity = itemAssociatedActivity;
      }
  
      public String getItemDescription() {
          return itemDescription;
      }
  
      public void setItemDescription(String itemDescription) {
          this.itemDescription = itemDescription;
      }
  
  }
  </code></pre>
  
  <p>Custom array adapter:</p>
  
  <pre><code>public class MainListAdapter extends ArrayAdapter&lt;MainMenuItem&gt; {
  
      ArrayList&lt;MainMenuItem&gt; menuItems;
  
      public MainListAdapter(Context context, int resource,
              int textViewResourceId, ArrayList&lt;MainMenuItem&gt; menuItems) {
          super(context, resource, textViewResourceId, menuItems);
          this.menuItems = menuItems;
      }
  
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
          View view = convertView;
          if (convertView == null) {
              LayoutInflater vi = (LayoutInflater) getContext().getSystemService(
                      Context.LAYOUT_INFLATER_SERVICE);
              view = vi.inflate(R.layout.man_list_item, parent);
          }
          MainMenuItem it = menuItems.get(position);
          if (it != null) {
              TextView titleTV = (TextView) view.findViewById(R.id.textView1);
              TextView descriptionTV = (TextView) view.findViewById(R.id.textView2);
              ImageView iconIV = (ImageView)view.findViewById(R.id.imageView1);
              if (titleTV != null) {
                  titleTV.setText(it.getItemText());
              }
              if(descriptionTV != null){
                  descriptionTV.setText(it.getItemDescription());
              }
              if(iconIV != null){
                  if(it.getItemText().equals(getContext().getResources().getString(R.string.main_list_connectivity)))
                      iconIV.setImageResource(R.drawable.network_connections);
              }
          }
          return view;
      }
  
  }
  </code></pre>
  
  <p>and here are my activity layout and item layout:</p>
  
  <pre><code>&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      tools:context=".PRS_MainList_Act" &gt;
      &lt;ListView android:id="@android:id/list"
          android:layout_height="match_parent"
          android:layout_width="match_parent"/&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Item Layout:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="horizontal" &gt;
  
      &lt;ImageView
          android:id="@+id/imageView1"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:src="@drawable/ic_launcher" /&gt;
  
      &lt;LinearLayout
          android:layout_width="wrap_content"
          android:layout_height="match_parent"
          android:orientation="vertical" &gt;
  
          &lt;TextView
              android:id="@+id/textView1"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:text="Medium Text"
              android:textAppearance="?android:attr/textAppearanceMedium" /&gt;
  
          &lt;TextView
              android:id="@+id/textView2"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="center_vertical"
              android:text="TextView" /&gt;
  
      &lt;/LinearLayout&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>I got this error saying: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView</p>
  
  <p>Thanks in advance for your help.</p>