应用程序崩溃在InfoWindow中的setText上

时间:2017-06-11 00:47:57

标签: android android-layout infowindow settext

我的Android应用中的InfoWindow存在此问题。当我运行此代码时:

@Override
public View getInfoWindow(Marker marker) {

    LayoutInflater inflater = getLayoutInflater();
    View view = inflater.inflate(R.layout.lkonty, null);

    TextView txtName= (TextView) findViewById(R.id.txtName);
    txtName.setText(marker.getTitle());
    return view;

运行setText方法时应用程序崩溃。我通过添加以下代码找到了解决方案:

setContentView(R.layout.lkonty);

该应用程序不再崩溃,但现在InfoWindow填满了整个屏幕,我不知道如何改变它。

3 个答案:

答案 0 :(得分:0)

应用崩溃是因为您的textview txtName为空。 您必须找到txtName view您膨胀的@Override public View getInfoWindow(Marker marker) { LayoutInflater inflater = getLayoutInflater(); View view = inflater.inflate(R.layout.lkonty, null); TextView txtName= (TextView) view.findViewById(R.id.txtName); txtName.setText(marker.getTitle()); return view; } 。 它会是这样的:

{{1}}

答案 1 :(得分:0)

我认为您在绑定文本视图时忘记使用查看

 TextView txtName= (TextView) view.findViewById(R.id.txtName);

使用inflater时必须使用查看

答案 2 :(得分:0)

试试这个

 View v = LayoutInflater.from(parent.getContext())
 .inflate(R.layout.lkonty,parent,false);


TextView txtName= (TextView) view.findViewById(R.id.txtName);

txtName.setText(marker.getTitle());