XUIフレームワークのFlowTagLayoutフローラベルを使用して、ネイティブandroidにはない機能を実現しますか?


それでも同じですが、結果が失敗する原因となる可能性のある他の要因を回避するために、テスト時に新しいページを作成するか、自分でプロジェクトを作成することをお勧めします。

ステップ1:XUI環境を構成する

構成環境のブログでXUIフレームワークを構成しています。ここでは詳しく説明しません。確認できません。プロセスはかなり詳細です。理解できない場合は、私に質問して、一緒に話し合いましょう。

構成が完了したら、2番目のステップに進みます。

ステップ2:FlowTagLayoutのxmlページを記述します。

コードは次のように表示されます。

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.xuexiang.xui.widget.flowlayout.FlowTagLayout
        android:id="@+id/flowTagLayout"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="32dp"
        android:layout_marginEnd="16dp"
        app:ftl_check_mode="multi"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

FlowTagLayoutフローラベルの属性テーブルを見てみましょう。single
は単一選択、multiは複数選択です。
ここに写真の説明を挿入
ここで、ftl_entriesを初期化して割り当てることができます。割り当てに問題はありませんが、値に問題があります。この方法はお勧めしません。割り当て。

3番目のステップ:[アクティビティ]ページで選択したフローラベルの値。

コードは次のように表示されます。

import android.os.Bundle;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.xuexiang.xui.XUI;
import com.xuexiang.xui.widget.flowlayout.FlowTagLayout;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    
    
    private FlowTagLayout flowTagLayout;
    List<String> flowadd=new ArrayList<>();
    List<String> list=new ArrayList<>();
    List<Integer> integers=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        XUI.initTheme(this);
        setContentView(R.layout.activity_main);
        flowTagLayout=findViewById(R.id.flowTagLayout);
        flowadd.add("计算机");
        flowadd.add("医学");
        flowadd.add("药学");
        flowadd.add("文管");
        flowadd.add("针灸推拿");
        flowTagLayout.setItems(flowadd);
        flowTagLayout.setOnTagSelectListener(new FlowTagLayout.OnTagSelectListener() {
    
    
            @Override
            public void onItemSelect(FlowTagLayout parent, int position, List<Integer> selectedList) {
    
    
                integers=parent.getSelectedIndexs();
                list.clear();
                for(Integer i:integers){
    
    
                    list.add(flowadd.get(i));
                }
             Toast.makeText(MainActivity.this,"list="+list,Toast.LENGTH_SHORT).show();
            }
        });
    }
}

コード分​​析:
ここに写真の説明を挿入

インターフェイスの状況を確認します。
ここに写真の説明を挿入

ここに写真の説明を挿入
ここで、ストリームラベルの値を取得できます。

XUIについて詳しく知りたい場合は、他の記事を確認してください
。XUIフレームワークは、ページ切り替えを実現するために独自のタブレイアウト(TabBarインジケーター)+ビューページを実装していますか?
XUIフレームワークは、ネイティブフレームワークよりも見栄えがよく機能が多いEditTextボックスを実装していますか?そして、EditTextの値を取得する方法は?
XUIフレームワークのボタンボタンを使用すると、カウントダウン機能が簡素化されますか?
私もXiaobaiであり、私が言ったことはすべてより基本的なものであるため、まだ更新中です。

おすすめ

転載: blog.csdn.net/qq_45137584/article/details/110943568