2011-03-10 64 views
1

在Android中的新项目中,我在main.xml文件中有一个带有TextView和TabWidget的布局。将TextView传递给Android中的意图

我的选项卡菜单启动使用意图不同的活动,在这些活动中,我需要做的:

TextView title = (TextView)findViewById(R.id.titolo); 
     title.setText("Home"); 

,但同时如果我尝试做其他活动,我得到我可以做到这一点只在主要活动一个空指针例外..什么问题?

在清单中我插入了其他这样的活动,这是问题吗?

<activity android:name="List1"></activity> 

我tryed使用

LayoutInflater li = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View row = li.inflate(R.layout.main, null); 
TextView title = (TextView)row.findViewById(R.id.titolo); 

我没有得到任何错误,但与ID必须存在于你的所有活动布局的标题并没有改变

+0

那么你如何为textview设置值?你可以把该代码(的getview方法)。 – 2011-03-11 05:09:58

回答

1

一个TextView。由于Android无法找到视图,因此您将收到NullPointerException。另外请确保您正在使用setContentView正确设置onCreate中的布局。

+0

我无法添加setContentView(R.layout.main);我重新打开了选项卡中的布局,并且出现错误,其他活动不使用布局..我该怎么办? – frx08 2011-03-10 17:35:24

+0

如果您使用findViewById,所有活动都需要有布局。对不起,我没有通过重新打开标签中的布局来获得你的意思。在我的回答中,我指的是/ res/layout中的布局文件。 – Abhinav 2011-03-10 17:40:11

+0

如果我在该选项卡中包含的活动中调用setContentView(R.layout.main),则会在该选项卡中显示包括选项卡布局在内的所有布局,以便布局选项卡以“递归方式”打开 – frx08 2011-03-10 18:31:30

1

带此ID(titolo)的TextView必须是您使用此代码的Activity布局的子代。

TextView title = (TextView)findViewById(R.id.titolo); 
if(title != null) 
    title.setText("Home"); 
else 
    Log.e(TAG, "title TextView not found in current layout); 

如果找你想实现某种形式的动作条,尝试创建一个“actionbar.xml”(含TextView id为“TITOLO”),例如,包括它所有的布局。

1

你的清单应作为

<activity android:name=".List1"></activity> 

List1活动

setContentView(set_layout_which_contains_titolo) and then use 

TextView title = (TextView)findViewById(R.id.titolo); 
     title.setText("Home"); 

但是,如果你的工作可以做,以发送字符串(其中包含文本视图的值)调用活动。 它会工作。

相关问题