作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是这个 android 开发的新手。我刚开始创建一个 hello world 应用程序。
我尝试设置一个背景图像,但效果很好。当我尝试在图像上添加文本时,它不起作用。
我尝试了下面的方式。任何人都可以帮助我哪里出错了。
在
主.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="vertical"
android:background="@drawable/andriod"
android:layout_gravity="center_vertical"
android:gravity="center_vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
HelloActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
//import android.widget.ImageView;
public class HelloActivity extends Activity {
// /** Called when the activity is first created. */
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
// }
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("This is the first andorid app");
setContentView(R.layout.main);
}
}
运行时它显示背景图片,但“这是第一个 andorid 应用程序”没有显示。
希望得到您的帮助
最佳答案
首先你需要在XML文件中给textview一个id,这样才能在Java源码中访问它(注意后面XML中的android:id属性);
<?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="vertical"
android:background="@drawable/andriod"
android:layout_gravity="center_vertical"
android:gravity="center_vertical">
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
现在在此 TextView 中设置文本;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView = (TextView) findViewId(R.id.textView);
textView.setText("This is the first andorid app");
}
请注意,如何从此处访问以 XML 声明的 TextView 。
不是
TextView textView = new TextView(this);
这将创建一个新的 TextView 。但是我们这里需要的是
TextView textView = (TextView) findViewId(R.id.textView);
这将引用上面 XML 文件中声明的 TextView 。
关于android - 如何在android中设置背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159281/
我是一名优秀的程序员,十分优秀!