0

我可以在其中填充 ViewLabel 的视图,Nutiteq但无法在此 Layout 的文本视图中设置正确的文本。

我的代码如下

    //Setting Popup Label if we click the area
    LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);      
    View labelView = inflater.inflate(R.layout.popup_field, null);

    //In order to get a dynamic "redimensionable" Ballon aka ViewLabel
    labelView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
                      MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
    labelView.layout(0, 0, labelView.getMeasuredWidth(), labelView.getMeasuredHeight());

    //labelView.measure(400, 400);
    //labelView.layout(100, 100, 400, 400);

    Log.info("drawField:: Nach Label fieldLabel = new ViewLabel... ");

    LinearLayout lLayout = (LinearLayout)labelView.findViewById(R.id.layout1);
    lLayout.setBackgroundColor(Color.RED);
    TextView farmNameTV  = (TextView)labelView.findViewById(R.id.farmName);
    TextView areaTV      = (TextView)labelView.findViewById(R.id.area);
    TextView statusTV    = (TextView)labelView.findViewById(R.id.status);

    farmNameTV.setTextColor(Color.BLACK);
    farmNameTV.setText("Farm CacoCaCoca");


    areaTV.setTextColor(Color.BLACK);
    String areaString = "12.34"
    areaTV.setText("Area "+areaString);

    statusTV.setTextColor(Color.BLACK);
    String statusString = "Status:::qwertzuiopasdfghjklyxcvbnm";
    statusTV.setText(statusString); 

*你看到的红色是我的膨胀视图。

在此处输入图像描述

R.layout.popup_field看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/farmName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/farmName"/>

<TextView
    android:id="@+id/area"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"       
    android:text="@string/area"/>

<TextView
    android:id="@+id/status"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"       
    android:text="@string/status"/>    

字符串在哪里

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Nutiteq3D</string>
<string name="area">Area</string>
<string name="status">Status</string>
<string name="farmName">Farm Name</string>
</resources>

有没有人已经完成了这个任务?谁能帮我找出我的错误?

使用 Google Api 的 MapView 很容易,但我使用 Nutiteq 和纯活动开发它,所以,没有片段和膨胀,我们通常需要一个 ViewGroup,G-Api 下的这个 ViewGroup 将是 MapView,所以从 ViewGroup 继承,但在 Nutiteq 中不像这个,Nutiteq 的 MapView 继承了 android.view 并且我不能转换,我可以null在调用中分配 ViewGroup a,inflate如你所见。

所以,人们,我会非常感谢你的帮助。

亲切的问候

4

1 回答 1

0

解决了!ViewLabel它与正常无关Android.View,我想在声明我的可调整大小后将 Text 分配给 TextView View,因此它不能正常工作。

所以解决方案是写tv.setText上面所有的 labelView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); labelView.layout(0, 0, labelView.getMeasuredWidth(), labelView.getMeasuredHeight());

于 2014-07-11T09:30:58.120 回答