当前位置: 代码迷 >> Android >> Android 写了 HelloWorld 没有显示 大家帮帮忙
  详细解决方案

Android 写了 HelloWorld 没有显示 大家帮帮忙

热度:256   发布时间:2016-05-01 13:01:18.0
Android 写了 HelloWorld 没显示 大家帮帮忙
代码:
Java code
package com.android.hello;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class HelloAndroid1 extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        TextView tv=new TextView(this);        tv.setText("Hello World");        setContentView(tv);           }}


报错:
[2010-10-15 12:41:47 - ddms]null
java.lang.NullPointerException
at com.android.ddmlib.Client.sendAndConsume(Client.java:571)
at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
at com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)
at com.android.ddmlib.Client.getJdwpPacket(Client.java:670)
at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:317)
at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)

[2010-10-15 12:42:26 - DeviceMonitor]Sending jdwp tracking request failed!

运行界面可以显示
但没有HelloWorld显示郁闷。

------解决方案--------------------
TextView tv=new TextView(this);

这句有问题

TextView tv= (TextView) this.findViewById(R.id.textView);//textView是你在xml文件定义的TextView的名称 

------解决方案--------------------
Java code
package android.test.hello;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class Hello extends Activity {                   /** Called when the activity is first created. */        @Override      public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        TextView tv = new TextView(this);        tv.setText("Android  helloWorld");        setContentView(tv);    }}
------解决方案--------------------
楼主,VIEW配置文件在res的layout里.你是用ADT自动生成的工程吗?
------解决方案--------------------
setContentView(R.layout.main);
------解决方案--------------------
setContentView(R.layout.main);
具体的界面配置在res/layout/main.xml中进行,好像是hello那个变量的值赋为“hello word ”。我也新手。
------解决方案--------------------
Java code
<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">Hello World, Main!</string>    <string name="app_name">组件测试</string></resources>
------解决方案--------------------
楼至用代码生成的TextView控件,注意要给控件设上布局参数。

最基本的是给他设上大小,width,height,否则是不会显示的,因为他的宽和高都是0,当然什么都看不到。

楼至就是缺的这个,至于怎么设置大小,看下api:
textView.setLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParames.WRAP_CONTENT);
记不清了,大致应该这样的,主要就是LayoutParams这个类,他枚举了一些列静态变量来做布局控制,
当然,你也可以用指定像素大小的方法设置控件大小。一句话,还是看API……

另外,控件布局,强烈推荐在xml里面配,也就是程序的layout里面些布局文件

------解决方案--------------------
一般LAYOUT是写成XML文件的,如果你一定要写在代码里,可以看一下这个例子
Java code
public HelloActivity extends Activity{public viud onCreate(Bundle bInpt){super.onCreate(bInpt);TextView txtHello = new TextView(this);txtHello.setText("Hello,World");txtHello.setTextLine(1);txtHello.setTextSize(36);txtHello.setVisible(View.VISIBLE);txtHello.setEnable(true);setContentView(txtHello);}}
------解决方案--------------------
  相关解决方案