我是編碼的初學者,我會喜歡一些幫助。我想做一個報警應用程序。在我的主要頁面片段中,我添加了一個按鈕,將一個警報添加到ScrollView內的LinearLayout中。該警報將包含三個TextViews和一個用於激活/停用的按鈕。給編號的動態創建視圖
這裏是我想我報警的樣子(這是目前沒有在我的編碼任何地方使用;我創造它只是有我的目標是什麼做的助視器):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:id="@+id/alarm_fl"
android:background="@mipmap/white_box">
<Button
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="9.5dp"
android:id="@+id/alarm_activation_button"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginTop="5dp"
android:textSize="10pt"
android:id="@+id/alarm_time"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="165dp"
android:layout_marginTop="11.5dp"
android:textSize="7pt"
android:id="@+id/alarm_ampm"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:layout_marginTop="30dp"
android:textSize="5pt"
android:id="@+id/alarm_day"/>
</FrameLayout>
這是我如何目前正在測試中的片段我報警:
addAlarm.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
LayoutInflater alarm_inflater = (LayoutInflater) getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
ViewGroup parent = (ViewGroup) getActivity().findViewById(R.id.alarm_ll);
View alarm_view = alarm_inflater.inflate(R.layout.alarm_layout, parent);
TextView alarm_time = (TextView) alarm_view.findViewById(R.id.alarm_time);
alarm_time.setText("9시 45분");
TextView alarm_ampm = (TextView) alarm_view.findViewById(R.id.alarm_ampm);
alarm_ampm.setText("오후");
TextView alarm_day = (TextView) alarm_view.findViewById(R.id.alarm_day);
alarm_day.setText("월,화,수,목,금");
Button activation_button = (Button) alarm_view.findViewById(R.id.alarm_activation_button);
activation_button.setBackgroundResource(R.mipmap.checkbox_deactivated);
}
});
其中alarm_ll是我想與新創建的警報來填充的LinearLayout。
在我看來,我需要每個Buttons和TextViews的獨特id來分別操作它們。
現在,這裏是我的問題:
,如果我想只要單擊該按鈕編程添加視圖這是正確的做法?還是有更好,更簡單的方法?
我的警報最終需要是對象。對於像User這樣的非活動類,或者在這種情況下,Alarm是否有可能擁有自己的佈局?
如何在通過點擊按鈕創建時爲每個視圖提供唯一的ID?
當我現在測試運行我的應用程序時,我添加到alarm_ll中的佈局將不會被保存,所以如果我轉移到另一個活動並返回,alarm_ll將被重置。當它們不是原始數據類型時,如何將它們保存在片段中?
我很抱歉一次問這麼多問題,但我真的很喜歡一些答案或建議。謝謝。
爲每個視圖分配一個ID的目的是什麼?這個ID將用於什麼? –