0

我不明白为什么在设置文本视图字符串时会得到 NPE。我全部使用这些,但为什么在这个 onItemClick() 方法上使用 NPE?

谢谢你的帮助。

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        . . .
        TextView title = (TextView) view.findViewById(R.id.navigationTitle);
        String navTitle = ((TextView) view.findViewById(R.id.listLabel)).getText().toString();
        title.setText(navTitle);//<--NPE AT THIS LINE - NO OTHER INFO FROM LOGCAT THAT IS FROM MY CLASSES!!
        . . . 
}
4

3 回答 3

1

99% 'title' 对象为空,因为它不存在于 onItemClick 方法传入的 'view' 对象中。

尝试将 view.findViewById 更改为仅 findViewById,假设 textview R.id.navigationTitle 存在于活动中。

于 2012-06-19T20:26:50.913 回答
1

TextView title为空,如果 navigationTitle 在您的主活动布局中,请尝试以下操作:

 TextView title = (TextView)findViewById(R.id.navigationTitle);
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        . . .
        String navTitle = ((TextView) view.findViewById(R.id.listLabel)).getText().toString();
        title.setText(navTitle);
        . . . 
}
于 2012-06-19T20:28:38.610 回答
1

@imran khan 和 @azgolfer 的 Thnx 让我思考:

我变了:

TextView title = (TextView) view.findViewById(R.id.navigationTitle);

至:

TextView title = (TextView) getActivity().findViewById(R.id.navigationTitle);

现在它不是空的!

于 2012-06-19T20:44:12.030 回答