【问题标题】:No layout when running android app in emulator在模拟器中运行android应用程序时没有布局
【发布时间】:2012-09-24 17:20:42
【问题描述】:

所以,我有这个代码:

package com.example.ponto_2d;

import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.TextView;

public class MainActivity extends Activity {
pontos p1=new pontos();
pontos p2=new pontos();

            @Override
            public boolean onTouchEvent(MotionEvent event) {

                TextView tv1 = (TextView) findViewById(R.id.textView2);

                   int eventaction= event.getAction();

                   switch (eventaction){
                   case MotionEvent.ACTION_DOWN:
                       p1.x=event.getX();
                       break;   

                   }

                   tv1.setText(""+p1.x);

                   return true;
            }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}

这个类:

package com.example.ponto_2d;

public class pontos {
        public double x,y;


        public double distancia(pontos p2){

            return Math.sqrt((p2.x-x)*(p2.x-x) + (p2.y-y)*(p2.y-y));
        }
}

这个xml布局:

<RelativeLayout 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" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="38dp"
        android:text="@string/titulo_app"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="30dp"
        android:layout_toRightOf="@+id/textView1"
        android:text="@string/valor"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_alignRight="@+id/textView1"
        android:text="@string/distancia_1"
        android:textAppearance="?android:attr/textAppearanceMedium" />


</RelativeLayout>

我认为没问题,但是当我运行模拟器时,我什么也得不到,甚至没有一个按钮。 知道可能是什么问题吗?

【问题讨论】:

    标签: java android layout emulation


    【解决方案1】:

    你没有 onCreate() 方法,所以什么都没有启动。 onCreate() 是 Java 中 main() 的 android 等价物。尝试使用:

    public class MainActivity extends Activity {
    pontos p1=new pontos();
    pontos p2=new pontos();
    
    
        @Override
        public void onCreate(Bundle bundle) {
            super.onCreate(bundle);
            setContentView(R.layout.<yourXMLFile>);
        }
                @Override
                public boolean onTouchEvent(MotionEvent event) {
    
                    TextView tv1 = (TextView) findViewById(R.id.textView2);
    
                       int eventaction= event.getAction();
    
                       switch (eventaction){
                       case MotionEvent.ACTION_DOWN:
                           p1.x=event.getX();
                           break;   
    
                       }
    
                       tv1.setText(""+p1.x);
    
                       return true;
                }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
    
    }
    

    替换为您的 xml 布局文件的名称,减去扩展名。

    【讨论】:

    • 太棒了!非常感谢,我的错:D
    • 您应该接受其中一个答案,并从未回答的标签中删除此问题。
    【解决方案2】:

    您的 Activity 中没有 onCreate() 方法。在该方法中,您需要调用setContentView() 并传入您的xml 布局的资源ID。 This link 应该可以帮助您入门。

    【讨论】:

    • 太棒了!非常感谢,我的错:D
    猜你喜欢
    • 2021-03-07
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多