Android TextView.SetText NullPointer异常

时间:2012-10-08 13:22:53

标签: android textview settext

我有两个活动,活动一个有按钮,引用活动二和方法。我正在尝试使用TextView.SetText在屏幕上放置一些东西,但不断得到NullPointerException。

活动2:

public class SomeActivity extends Activity {
TextView textview ;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.some_activity);

    textview = (TextView) findViewById( R.id.textview );
    spill("Some text");

}
public void spill(String s){
    textview.setText(s);
}

public void methodCalledFromActivityOne(){
    System.out.println("Works");
    spill("Why Doesn't this work?");
}

XML有这个:

<TextView
    android:id="@+id/textview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=""
    tools:context=".SomeActivity" />

我是Android新手,非常感谢所有/任何帮助。

编辑:XML的名称很好,只有在我按下调用methodCalledFromActivityOne()的活动1中的按钮1时才会出现错误。 这是我从LogCat得到的: 引起:java.lang.NullPointerException位于data.storage.SomeActivity.meill.methodCalledFromActivityOne上的data.storage.SomeActivity.spill上的android.app.Activity.findViewById 在data.storage.ActivityOne.button1clicked

2 个答案:

答案 0 :(得分:1)

只有在调用onCreate()时,才会初始化活动2中的

textview。只有当此活动进入电话视图时,才会调用活动2的onCreate()。您无法从当前活动中设置其他活动的视图值。这是个坏主意。 如果您希望值到达活动2,则将其发送到意图中。

答案 1 :(得分:0)

如果您从其他活动调用methodCalledFromActivityOne()方法,请确保您也在该活动中创建了TextView属性。否则它将无效。