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);}}
------解决方案--------------------
在main.xml中加一个android:id="@+id/TextView"
[解决办法]
还没解决?晕
看如下过程:
(1)按ECLIPSE建立好工程
打开Hello ,代码如下:
public class Hello extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//这个main是指的在
}
}
(2)打开main.xml,(位于res/layout/下)内容如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
其实,到这里,任何修改也不要做,选择run as -》android application即可出结果。