2013-02-25 2 views
0

Я хочу отобразить две строки один под другим, как если бы это список. Я попытался использовать simple_list_item_1 для заполнения списка, но на экране ничего не видно.popilling listview using arrayadapter

((ListView)view).setAdapter(new ArrayAdapter<String> 
(RealScreen.getAndroidBaseContext(),android.R.layout.simple_list_item_1, label)); 

где ярлык представляет собой массив, который содержит два элемента для отображения. Все, что я вижу, это белый экран. Также я хочу, чтобы этот список был незаметным.

Я хочу выход быть похожим на это:

String 1 
String 2 

Я не работаю с активностью, а не с видом. Вот метод, который создает Просмотреть

public void createView(JSONObject definition) { 
    // TODO Auto-generated method stub 
    super.createView(definition); 
    final JSONArray rowArray = definition.optJSONArray(KeyConstants.KEY_ROWS); 
    final JSONArray columnArray = definition.optJSONArray(KeyConstants.KEY_COLUMNS); 
    if (rowArray != null) { 
      label = new String[rowArray.length()]; 
      for (int i = 0; i < rowArray.length(); i++) { 
       final JSONObject candidate = rowArray.optJSONObject(i); 
       if(candidate!=null){ 
        label[i]=candidate.optString(KeyConstants.KEY_LABEL_TEXT, null); 
       } 
      } 
    } 
    ((ListView)view).setAdapter(new ArrayAdapter<String>(RealScreen.getAndroidBaseContext(),android.R.layout.simple_list_item_1, label)); 
} 

Спасибо.

+0

если не вид деятельности, чем это вид? – Pragnani

+0

сделать некоторые googling .. есть много примеров доступных .. –

+0

@Pragnani Да это вид. –

ответ

0

Сначала создайте пользовательский адаптер класса, как показано ниже

класс MyAdapter расширяет ArrayAdapter {

private Context context; 

    private ArrayList<String> list; 

    public MyAdapter(Context context, 
      ArrayList<String> list) 
      { 
     super(context, R.layout.layout_list); 
     this.context = context; 
     this.list = list; 
    } 




    @Override 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 

     ViewHolder holder = null; 

     if (convertView == null) { 
      holder = new ViewHolder(); 

      LayoutInflater inflater = (LayoutInflater) context 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

      convertView = inflater.inflate(R.layout.layout_list, 
        null); 

      convertView.setTag(holder); 
      holder.string1 = (TextView) convertView 
        .findViewById(R.id.stringgID1); 



      holder.string2 = (TextView) convertView 
        .findViewById(R.id.stringID2); 


     } 
        else 
        { 
      holder = (ViewHolder) convertView.getTag(); 
     } 


     holder.string1 .setText(list.get(postion)); 
     holder.string2 .setText(list.get(position)); 

     return convertView; 
    } 

    @Override 
    public int getCount() { 

     return list.size(); 
    } 

    class ViewHolder { 
     TextView string1 = null; 
     TextView string2 = null; 


    } 

} 

А затем пусть ваша деятельность продлить активность и не ListActivity

listView.setAdapter (новый MyAdapter (youtactivityame.this, label);

При этом может отображаться метка с любым количеством элементов списка.