试图让setText方法实际更改我在android中的文本

时间:2014-04-17 05:40:28

标签: java android text

我已经查看了很多这方面的主题,并且不能为我的生活弄清楚这段代码有什么问题。我直接从学习Android应用程序编程"源代码在github上找到

https://github.com/androiddevbook/onyourbike

代码不会更改" Hello world"到"在你的自行车上!"

我看到的任何地方似乎都写得正确。我对Android开发很新,所以我确信可能就是这种情况。这是代码

EDITED CODE SO FAR: MainActivity.java:

package com.androiddevbook.onyourbike_chapter3;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {
static String className;



@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
className = getClass().getName();
TextView text1 = (TextView) findViewById(R.id.hello);
Log.d(className, "Setting text.");
text1.setText("On your bike!");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
Log.d(className, "Showing menu.");
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

activity_main.xml中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
android:id="@+id/hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
 />


</RelativeLayout>

显然问题在于图形布局编辑器。在不同的Android设备上运行代码后,一切都运行良好。但它没有在编辑器中正确显示。感谢大家的帮助。

1 个答案:

答案 0 :(得分:-1)

您的代码必须像下一个

public class MainActivity extends Activity {
static String className;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    className = getClass().getName();
    TextView text1 = (TextView) findViewById(R.id.hello);
    Log.d(className, "Setting text.");
    text1.setText("On your bike!");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Log.d(className, "Showing menu.");
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}

和你的xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/hello"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
     />

</RelativeLayout>