我是这个Android开发的新手.我刚刚开始创建一个hello world应用程序.
我试图设置一个背景图像,它工作正常.当我试图在图像上添加文本时,它无法正常工作.
我尝试了下面的方式.任何人都可以帮助我,我出错了.
在
main.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>
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
在运行时它显示背景图像,但"这是第一个andorid应用程序"未显示.
希望得到你的帮助
首先,您需要在text文件中为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>
Run Code Online (Sandbox Code Playgroud)
现在在此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");
}
Run Code Online (Sandbox Code Playgroud)
注意,如何从这里访问XML中声明的textview.
它不是
TextView textView = new TextView(this);
Run Code Online (Sandbox Code Playgroud)
这将创建一个新的textview.但我们需要的是
TextView textView = (TextView) findViewId(R.id.textView);
Run Code Online (Sandbox Code Playgroud)
这将引用上面XML文件中声明的textview.
您必须在布局文件中选择具有唯一 ID 的 TextView,然后设置其属性。但在您的代码中,您只需使用文本创建一个文本视图,而不是将其放入视图中。
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText("Your text here");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17729 次 |
| 最近记录: |