EditTextとListViewを使用してToDoリストを作成しようとしています。テキストのフォント、色、サイズを変更するにはどうすればよいですか?配列アダプターを使用していくつかの回答を見ましたが、動的に作成されたListView項目にそれらを適用する方法はわかりません。ここで動的に作成されたListViewでテキストの色、サイズ、フォントを変更する方法
は、私がこれまで持っているものです。
ActivityMain.xml
<RelativeLayout
android:id="@+id/AgendaRL"
android:orientation="vertical"
android:background="#3E2723"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/agenda"
android:layout_width="370sp"
android:layout_height="wrap_content"
android:text="@string/agenda"
android:textSize="40sp"
android:textColor="#b7950b"
android:layout_marginTop="12sp"
android:layout_marginLeft="12sp"
android:layout_marginStart="12sp"
android:layout_marginBottom="0sp" />
<View
android:background="#b7950b"
android:layout_below="@+id/agenda"
android:layout_width="28sp"
android:layout_height="36sp"/>
<EditText
android:id="@+id/aTask"
android:layout_below="@+id/agenda"
android:background="@drawable/ribbon"
android:inputType="text"
android:text="@string/Add_Task"
android:textColor="#3E2723"
android:maxLength="22"
android:maxLines="1"
android:layout_width="330sp"
android:layout_height="36sp"
android:textSize="28sp"
android:layout_marginLeft="28sp"
android:layout_marginStart="28sp"/>
<Button
android:id="@+id/Done"
style="?android:attr/borderlessButtonStyle"
android:layout_marginLeft="250sp"
android:layout_marginStart="250sp"
android:background="#b7950b"
android:text="@string/Done"
android:textColor="#3E2723"
android:textSize="18sp"
android:layout_below="@+id/agenda"
android:layout_width="48sp"
android:layout_height="36sp"
android:onClick="DoneClick"/>
<ListView
android:id="@+id/LVAgenda"
android:layout_below="@+id/aTask"
android:divider="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
MainActivity.Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView LVAgenda = (ListView) findViewById(R.id.LVAgenda);
arrayListAgenda = new ArrayList<String>();
arrayAdapterAgenda = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayListAgenda);
LVAgenda.setAdapter(arrayAdapterAgenda);
}
public void DoneClick(View v){
EditText aTask = (EditText)findViewById(R.id.aTask);
String agenda = aTask.getText().toString().trim();
if(agenda.isEmpty()){
return;
}
arrayAdapterAgenda.add(agenda);
aTask.setText("Add task");
}
'ArrayAdapter'のカスタムサブクラスを作成し、' getView() 'をオーバーライドし、必要に応じてウィジェットを更新します。 – CommonsWare
私はアンドロイドを使い始めていますが、おそらくコードを全長で表示できますか? – LunarLlama
https://github.com/commonsguy/cw-omnibus/tree/master/Selection/Dynamicは、カスタムの「ArrayAdapter」を示しています。 – CommonsWare