2012-04-01 10 views
4

でリストビューへの項目の追加[OK]を、私はこのサイトでtutorielを完了し、http://developer.android.com/resources/tutorials/views/hello-listview.htmlはアンドロイド

私の問題は、私はテーブルレイアウトにネストされたリストに項目を追加したいということです。そのようです。 enter image description here

どうすればよいですか?現在のコードでは、目的のページを選択するとアプリケーションが機能しなくなります。 myListが存在すると仮定します...私がsetContentView(R.layout.log)という行をコメントアウトすると、リストは表示されますが、レイアウトは必要ありません。

public class LogActivity extends ListActivity{ 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.log); 

     ListView lv = getListView(); 
     lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myList)); 
     lv.setTextFilterEnabled(true); 
    } 
} 

..

<?xml version="1.0" encoding="UTF-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="10dp" > 

     <TextView 
      android:id="@+id/txt_currentDate" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_span="6" 
      android:gravity="center" 
      android:text="@string/CurrentDate" 
      android:textSize="18dp" 
      android:textStyle="bold" 
      android:typeface="serif" > 
     </TextView> 
    </TableRow> 

    <TableRow 
     android:id="@+id/progressBarRow" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" > 

     <ProgressBar 
      android:id="@+id/DailyCalorieProgress" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_span="3" 
      android:progress="80" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" > 

     <TextView 
      android:id="@+id/textView1" 
      android:gravity="center" 
      android:text="@string/CalorieLimit" 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView2" 
      android:gravity="center" 
      android:text="@string/CalorieLimitData" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView3" 
      android:gravity="center" 
      android:text="@string/CaloriesLeft" 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView4" 
      android:gravity="center" 
      android:text="@string/CaloriesLeftData" > 
     </TextView> 
    </TableRow> 

    <TextView 
     android:id="@+id/textView5" 
     android:gravity="center_horizontal" 
     android:text="@string/Line" > 
    </TextView> 

    <TableRow android:paddingTop="10dp" > 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/CurrentFood" /> 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/CurrentExercises" /> 
    </TableRow> 

    <!--<TableRow 
     android:id="@+id/tableRow4" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/txt_foodItem" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:text="@string/foodItem" 
      android:typeface="serif" > 
     </TextView> 

     <TextView 
      android:id="@+id/txt_Ammount" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:text="@string/ammount" 
      android:typeface="serif" > 
     </TextView> 

     <TextView 
      android:id="@+id/txt_calories" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:gravity="center" 
      android:text="@string/calories" 
      android:typeface="serif" > 
     </TextView> 
    </TableRow>--> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="203dp" > 
    </ListView> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <Button 
      android:id="@+id/btn_add" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:text="@string/remove" /> 

     <Button 
      android:id="@+id/btn_remove" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_toLeftOf="@id/btn_add" 
      android:text="@string/add" /> 
    </RelativeLayout> 

</TableLayout> 

答えて

5

ちょうど今ちょうどマイリストにあなたに新しい項目を追加し、

を呼び出す

ListView lv = (ListView)findViewById(R.id.listView); 
ArrayAdapter<String> myarrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myList); 
lv.setAdapter(myarrayAdapter); 
lv.setTextFilterEnabled(true); 

ListView lv = getListView(); 
lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myList)); 
lv.setTextFilterEnabled(true); 

で以下の行を置き換えますまた

myarrayAdapter.notifyDataChanged(); 

xmlファイルのリストIDを変更し、私はラインsetContentView(R.layout.log)をコメントアウトした場合

+0

を試してみてください。リストは表示されますが、希望のレイアウトはありません。その行のコメントを外すと、ログページに移動するとアプリが機能しなくなります。なぜそれがそれをするだろうか?同じことをしているように見えますが、自分のコードをあなたのものに置き換えました。 –

+0

私はすでにそれを試して誓って...それはまだ動作しません。私が言ったように、ログページに移動すると、残念ながら、アプリは動作を停止しています。 –

+0

あなたのエラーログを貼り付けてください。 – Ishu