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

App crashing on setText in InfoWindow

我的 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);

应用程序不再崩溃,但现在信息窗口填满了整个屏幕,我不知道如何更改它。

应用程序崩溃,因为您的文本视图 txtName 为空。 你必须通过 view 找到你的 txtName 你充气了。 它会像这样:

@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;
}

我想你在绑定 textview 时忘记使用 view

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

您必须在使用充气器时使用 view

试试这个

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


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

txtName.setText(marker.getTitle());