Androidはarray配列リソースを取得
1790 ワード
開発ではRecylerViewというコントロールがよく使われていますが、RecyclerViewにとっては、データを埋め込む部分が少なくなくてはいけませんが、データの大部分は複数あるので、ここで記録します.
配列リソースファイルは一般的にres-->values-->attrsに配置されます.xml(自分で作成しなかった)
注意:Resourcesの取得はActivity、Fragment、その他のクラスで異なります.たとえば、次のようになります.
Activity:
Fragment:
その他のクラス:
1つ目のケース:
この場合、Javaコードでは、次のようなデータリソースを直接取得できます.
String [ ] languages = getResources().getStringArray(R.array.language_values);
2つ目のケース:
Javaコードの取得方法:
備考:ここのModelは1つのエンティティクラスで、2つの属性があります1つはintタイプで、1つはStringタイプで、自分の必要に応じて変えることができて、適切な構造方法を生成します
データの入力を行います.
レベルが限られていて、間違いがあるのは避けられません.間違いがあれば、指摘してください.共同で進歩して、ありがとうございます.
配列リソースファイルは一般的にres-->values-->attrsに配置されます.xml(自分で作成しなかった)
注意:Resourcesの取得はActivity、Fragment、その他のクラスで異なります.たとえば、次のようになります.
Activity:
Resources resources = getResources();
Fragment:
Resources resources = getActivity().getResources();
その他のクラス:
Resources resources = mContext.getResources();
1つ目のケース:
- Android
- Java
- C++
- Python
この場合、Javaコードでは、次のようなデータリソースを直接取得できます.
String [ ] languages = getResources().getStringArray(R.array.language_values);
2つ目のケース:
- @string/android
- @string/java
- @string/c
- @string/python
Javaコードの取得方法:
List modelList = new ArrayList<>();
String[] languages = mContext.getResources().getStringArray(R.array.languages_values);
TypedArray ta = mContext.getResources().obtainTypedArray(R.array.languages_values);
modelList.clear();
for (int i = 0; i < languages.length; i++) {
int id = ta.getResourceId(i, -1);
modelList.add(new Model(id, aboutList[i]));
}
ta.recycle(); //
備考:ここのModelは1つのエンティティクラスで、2つの属性があります1つはintタイプで、1つはStringタイプで、自分の必要に応じて変えることができて、適切な構造方法を生成します
データの入力を行います.
レベルが限られていて、間違いがあるのは避けられません.間違いがあれば、指摘してください.共同で進歩して、ありがとうございます.