主にRPA、Androidアプリ開発について投稿しています。メモ書きです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
SpinnerAdapter carAdapter = new SpinnerAdapter(this,R.layout.spinner_item_002,carList2.toArray());
public class SpinnerAdapter extends ArrayAdapter{Mapを作成する。Keyはアダプターに設定したデータ値、Valueは表示したい表示名を設定する。
Map<String,String> map;
carAdapter.setMap(carMap);
@NonNull結構簡単。
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View v = super.getView(position,convertView,parent);
TextView tv = v.findViewById(R.id.tvName);
tv.setText(map.get(tv.getText().toString()));
return v;
// return super.getView(position, convertView, parent);
}
@Override
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View v = super.getDropDownView(position, convertView, parent);
CheckedTextView ctv = v.findViewById(R.id.ctvName);
ctv.setText(map.get(ctv.getText().toString()));
return v;
// return super.getDropDownView(position, convertView, parent);
}
/**汎用利用ではないので、パス固定。
* 端末のファイルアプリのDownloadフォルダから特定の拡張子のファイルを取得する
* @param ex
* @return
*/
public static File[] getDownloadsFiles(String ex) {
String path = "/storage/self/primary/Download";
File dir = new File(path);
File[] files = dir.listFiles();
ArrayList<File> result = new ArrayList<>();
for(File file:files){
if(file.getName().toLowerCase().lastIndexOf(ex) != ex.length()-1){
continue;
}
result.add(file);
}
return result.toArray(new File[result.size()]);
}
buildscript {
repositories {
jcenter()
maven{
url "https://jitpack.io"
}
}
allprojects {build.gradle(app)
repositories {
jcenter()
maven{
url "https://jitpack.io"
}
}
}
dependencies {allprojectsにもmaven~を記述するのがキモ。
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
}
/**
* グループポジションでデータ位置を取得する
* @param groupPosition
* @return
*/
public int getFlatListPosition(int groupPosition){
ExpandableListView elv = ((InputActivity5)context).findViewById(R.id.elvInput);
long packGroup = ExpandableListView.getPackedPositionForGroup(groupPosition);
return elv.getFlatListPosition(packGroup);
}
/**
* パクポジでデータ位置を取得する
* @param groupPosition
* @return
*/
public int getFlatListPosition(int groupPosition,int childPosition){
ExpandableListView elv = ((InputActivity5)context).findViewById(R.id.elvInput);
long packPosition = ExpandableListView.getPackedPositionForChild(groupPosition,childPosition);
return elv.getFlatListPosition(packPosition);
}
/**
* パクポジを取得する 全体⇒親子
* @param flatListPosition
* @return
*/
private int[] getPackPosition(int flatListPosition){
ExpandableListView elv = ((InputActivity5)context).findViewById(R.id.elvInput);
long packed = elv.getExpandableListPosition(flatListPosition);
int groupPosition = ExpandableListView.getPackedPositionGroup(packed);
int childPosition = ExpandableListView.getPackedPositionChild(packed);
return new int[]{groupPosition,childPosition};//親の場合は、childPosition = -1
}
tvSuuryo.setTextSize(12);また、端末の解像度によるレイアウト崩れを防ぐなら、COMPLEX_UNIT_DIP(dp)を指定する。
tvSuuryo.setTextSize(TypedValue.COMPLEX_UNIT_PX,12);
tvSuuryo.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12);
ViewGroup.MarginLayoutParams textParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);LayoutParamsを設定したうえでレイアウトにaddView
textParams.setMargins(20,0,20,0);
TextView tvSuuryo = new TextView(this);※LayoutParamsでサイズ指定をしないと、MATCH_PARENTが設定されるようだ。
tvSuuryo.setText("3");
tvSuuryo.setLayoutParams(textParams);
llHinmoku.addView(tvSuuryo);
String[] strs = new String[]{"おはよう","こんにちは","こんばんは","おやすみ"};これまた簡単なんだけど、知っておくと便利。
for (int i = 0; i <= 3; i++) {
int id = getResources().getIdentifier("tvHello_" + i, "id",context.getPackageName());
TextView tv = (TextView) findViewById(id);
tv.setText(strs[i]);
}
int id = getResources().getIdentifier("tvColName_" + i ,"id",PioneerActivityForSQLite.this.getPackageName());これだけ。簡単だけど嬉しい設定。
tvTitle.setId(id);
private onFragmentButtonClickedLister listener;・listenerにcontextをぶっこんで使えるようにする
public interface onFragmentButtonClickedLister{
void onNumButton(String val);
void onArrowButton(int type);
}
@Override・OnClickイベントなどから呼び出す。
public void onAttach(Context context) {
super.onAttach(context);
listener = (onFragmentButtonClickedLister)context;
listener.onNumButton(keyStr);
@Override
public void onNumButton(String val) {
@Override
public void onArrowButton(int type) {