2011-07-22 8 views
0

私はAndroidプログラミングにはとても新しく、大まかなスタートを切っています。私はプログラムの一般的なUIを作成し、実際のJavaコードを変更していません。エミュレータでアプリの読み込みを試みるたびに、アプリがクラッシュします。なぜこのようなことが起こるのか、誰にも分かりますか?Androidアプリがエミュレータに読み込もうとしたときにクラッシュする

また、私がチュートリアルで作った他のアプリは、うまく機能します。最近作成したレイアウトだけでは機能しません。ここで

は、Javaコードはここ

package com.nubs.tableposv0_1; 

import android.app.Activity; 
import android.os.Bundle; 

public class TablePOSv0_1Activity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

で更新されたXMLコードが

ある
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" 
    android:weightSum="5" 
    > 
    <LinearLayout 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     > 
     <Button android:id="@+id/item1" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 1" 
      /> 
     <Button android:id="@+id/item2" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 2" 
      /> 
     <Button android:id="@+id/item3" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 3" 
      /> 
     <Button android:id="@+id/item4" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 4" 
      /> 
     <Button android:id="@+id/item5" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 5" 
      /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:orientation="vertical" 
     > 
     <Button android:id="@+id/item6" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 6" 
      /> 
     <Button android:id="@+id/item7" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 7" 
      /> 
     <Button android:id="@+id/item8" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 8" 
      /> 
     <Button android:id="@+id/item9" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 9" 
      /> 
     <Button android:id="@+id/item10" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:text="Item 10" 
      /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:layout_weight="3" 
     android:orientation="vertical" 
     android:weightSum="9" 
     > 
     <TableLayout 
      android:id="@+id/items_table" 
      android:layout_width="fill_parent" 
      android:layout_weight="4" 
      > 
      </TableLayout> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:orientation="horizontal" 
      android:layout_weight="1" 
      android:weightSum="3" 
      > 
      <Button android:id="@+id/calc1" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="1" 
       /> 
      <Button android:id="@+id/calc2" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="2" 
       /> 
      <Button android:id="@+id/calc3" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="3" 
       /> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" 
      android:layout_weight="1" 
      android:weightSum="3" 
      > 
      <Button android:id="@+id/calc4" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="4" 
       /> 
      <Button android:id="@+id/calc5" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="5" 
       /> 
      <Button android:id="@+id/calc6" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="6" 
       /> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" 
      android:layout_weight="1" 
      android:weightSum="3" 
      > 
      <Button android:id="@+id/calc7" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="7" 
       /> 
      <Button android:id="@+id/calc8" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="8" 
       /> 
      <Button android:id="@+id/calc9" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="9" 
       /> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" 
      android:layout_weight="1" 
      android:weightSum="3" 
      > 
      <Button android:id="@+id/calc0" 
       android:layout_weight="2" 
       android:layout_height="fill_parent" 
       android:text="0" 
       /> 
      <Button android:id="@+id/calcdec" 
       android:layout_weight="1" 
       android:layout_height="fill_parent" 
       android:text="." 
       /> 
     </LinearLayout> 
     <Button android:id="@+id/total" 
      android:layout_weight="1" 
      android:layout_width="fill_parent" 
      android:text="Total" 
      /> 
    </LinearLayout> 
</LinearLayout> 

Logcat:

07-22 01:24:41.793: ERROR/AndroidRuntime(392):  at android.app.Activity.setContentView(Activity.java:1647) 
07-22 01:24:41.793: ERROR/AndroidRuntime(392):  at com.nubs.tableposv0_1.TablePOSv0_1Activity.onCreate(TablePOSv0_1Activity.java:15) 
07-22 01:24:41.793: ERROR/AndroidRuntime(392):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
07-22 01:24:41.793: ERROR/AndroidRuntime(392):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
07-22 01:24:41.793: ERROR/AndroidRuntime(392):  ... 11 more 
07-22 01:25:41.482: ERROR/DefContainer(224): Couldn't copy file: /data/local/tmp/TablePOSv0_1.apk 
+0

これ以上はありません。それがあなたのコードかあなたの開発ツールであれば、分離してみてください。 –

+0

レイアウトのXMLコードを追加しました。私はJAVAコードのどれにも触れていないが、私はそれも付け加えた。 – Jim

+0

XMLレイアウトを編集したのはなぜですか?してください、あなたのものを変更しないでください...私は何かを見つけることができるかどうかを見るためにそれを見ていた...そしてそれが解決策だったら、緑のチックをクリックして回答を受け入れることをお勧めします。 – davidcesarino

答えて

1

私が正しくリコール、LinearLayoutsは両方android:layout_widthandroid:layout_height寸法を必要とします。

XMLには、android:layout_widthが含まれていないものがいくつかあります。

また、次回はLogcat出力を投稿します。これらのケースでは、コード自体よりもはるかに便利です。だからこそ私はここで一度だけ起こった問題を推測しています。

//編集:

それがまだクラッシュだ場合は、すべてウィジェットで両方の寸法を含めるようにしてみてください。両方のディメンションを必要とするすべてのウィジェットのレイアウトであるかどうかは正確にはわかりません。そして、私たちにlogcatを与えてください。 :-)

+0

はい、すべてのウィジェットは特殊な場合を除いて寸法が必要です( 'TableRow' )。 –

+0

すべてのウィジェットに高さと幅を追加することで問題が解決されました。皆さん、ありがとうございました! – Jim

+0

2つのディメンションを追加するとレイアウトがぼやけてしまったと言われました。真実は、あなたのレイアウトを「重み付け」しようとしているのが分かります。重み付けするディメンションに「fill_parent」の代わりに「wrap_content」を使用してみます。たとえば、最初の行のボタンでは、高さのディメンションをwrap_contentにしたいと思っています。これは、外側のLinearLayoutで垂直方向のディメンションに重み付けを行うためです。また、重み付けを行う際に、次元として「0」を試してみる人もいます。どのケースがうまくいくかを実験してみてください。 – davidcesarino

関連する問題