他のクラスを使用して を構築するクラスがありますFrameLayout
。1 つは建物内を移動するためのもの、もう 1 つは建物のセンサーを含む回路図を表示するためのもの、もう 1 つはセンサーデータを表示するためのものです。フレーム全体を一度構築し、フレームのセンサービュー部分にセンサーデータを表示したいと考えています。5 つのセンサーがあり、1 つをクリックすると、センサービューにセンサーデータが表示されるとします。5つのセンサービューフレームを重ねて非表示にし、センサーをクリックして選択したものを表示することができました。
update メソッドを使用して、別のクラスの sLinearLayout
を含むを変更することは可能ですか?TextView
すでに試しましたが、私のコードでは現時点では機能しません。
public static SensorBar Create_SensorBar_Layout(Context myContext, ObjectStructure objStruct, ObjectView objView, List<SensorDevice> listofCurrentSensordevices)
{
// Init
LinearLayout SensorBarLinearLayout = new LinearLayout(myContext);
LinearLayout.LayoutParams layoutParamsSensorBar = new LinearLayout.LayoutParams(
200, 653);
layoutParamsSensorBar.setMargins(5, 5, 5, 5);
SensorBarLinearLayout.setOrientation(LinearLayout.VERTICAL);
SensorBarLinearLayout.setLayoutParams(layoutParamsSensorBar);
SensorBarLinearLayout.setBackgroundResource(R.drawable.window_frame);
SensorBarLinearLayout.setPadding(4,4,4,4);
LinearLayout SensorBarData = new LinearLayout(myContext);
LinearLayout.LayoutParams layoutParamsSensorBarData = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
SensorBarData.setOrientation(LinearLayout.VERTICAL);
SensorBarData.setLayoutParams(layoutParamsSensorBarData);
//--- Button Headline ---
Button buttonNavBarHeadline = new Button(myContext);
buttonNavBarHeadline.setText("Sensordata");
buttonNavBarHeadline.setTextColor(Color.BLACK);
buttonNavBarHeadline.setBackgroundResource(R.layout.mainview_window_headline);
buttonNavBarHeadline.setTextAppearance(myContext, R.style.headline3);
//Layout buildup
SensorBarLinearLayout.addView(buttonNavBarHeadline);
SensorBarLinearLayout.addView(SensorBarData);
return new SensorBar(SensorBarLinearLayout, SensorBarData);
}
これが Sensorbar です。センサーボタンをクリックして、LinearLayout SensorBarData を動的に交換したいと考えています。
public void updateSensorBar(Context myContext, ObjectStructure objStruct, List<SensorDevice> listofCurrentSensordevices, int activeSensor)
{
LinearLayout linearlayoutSensorvalueTextviews = new LinearLayout(myContext);
... (additional Textviews for Sensordata, which get added with addview())
setSensorBarData(linearlayoutSensorvalueTextviews);
}
これは OnClick イベントで使用されます。
public void setSensorBarData(LinearLayout SensorBarData) { this.dataSensorBar = SensorBarData; }
これは、updateSensorBar が LinearLayout を更新するために使用されます。
どんな助けでも嬉しいです。