代码:
- 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);}}
------解决方案--------------------