0

私の質問は、ReciclerView の SpamCount を SharedPreferences に保存する方法はありますか? ビューを「リストモード」から「グリッドモード」に変更できるリストを作成し、その情報をSharedPreferencesに保存して、アプリを終了した後も「リストビュー」が残るようにします。私がやろうとしていることの 例は次のようになります...ボタンクリックでやろうとしていることの例

そして、私が変更しようとするコードは次のとおりです...


public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private static RecyclerView recyclerView;   
    private ReciclerAdapter reciclerAdapter;
    ImageView viewGridS, viewListS;

    SharedPreferences vSettings;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.recicler_main);


        vSettings =  this.getSharedPreferences("Vision", 0);

        notesRecyclerView = findViewById(R.id.recycler_view);
        notesRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL));
        viewListS = findViewById(R.id.viewList);
        viewGridS = findViewById(R.id.viewGrid);


    @Override
    public void onClick(View v) {
        SharedPreferences vSettings =  this.getSharedPreferences("Vision", 0);
        SharedPreferences.Editor viEdit = vSettings.edit();

        switch (v.getId())
        {
            case R.id.viewList:
                viewGridS.setVisibility(View.GONE);
                viewListS.setVisibility(View.VISIBLE);
                viEdit.putString("Vision",listView());
                viEdit.apply();
                break;
            case R.id.viewGrid:
                viewListS.setVisibility(View.GONE);
                viewGridS.setVisibility(View.VISIBLE);
                listWiew();
                viEdit.putString("Vision",gridView());
                viEdit.apply();
                break;
          }
     });
    }

    public int gridView(){
          notesRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));
        return null;
    } 

    public int listView(){
          notesRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(1,StaggeredGridLayoutManager.VERTICAL));
        return null;
    } 
}

アクティビティを開始しようとすると、RecyclerView に何も表示されず、ボタンが機能しません。誰かが私を助けてくれたら、事前に感謝します...ありがとう

4

1 に答える 1