我有两个活动,活动一个有按钮,引用活动二和方法。我正在尝试使用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
答案 0 :(得分:1)
textview。只有当此活动进入电话视图时,才会调用活动2的onCreate()。您无法从当前活动中设置其他活动的视图值。这是个坏主意。 如果您希望值到达活动2,则将其发送到意图中。
答案 1 :(得分:0)
如果您从其他活动调用methodCalledFromActivityOne()
方法,请确保您也在该活动中创建了TextView
属性。否则它将无效。