Android:setText onItemClick NPE

时间:2012-06-19 20:20:09

标签: android nullpointerexception settext onitemclick

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

Thnx的帮助。

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!!
        . . . 
}

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

TextView title为null,如果navigationTitle位于主Activity布局中,请尝试此操作:

 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);
        . . . 
}

答案 2 :(得分:1)

@imran khan&amp;的Thnx @azgolfer让我思考:

我改变了:

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

为:

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

现在它不是空的!!