主にRPA、Androidアプリ開発について投稿しています。メモ書きです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
String[] dayOfWeekName = new String[]{"日","月","火","水","木","金","土"};・・・。
Calendar cal1 = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年 MM月 dd日");
String strDate = sdf.format(toDay) + "("+dayOfWeekName[cal1.DAY_OF_WEEK - 1]+")";
title.setText(strDate);
String[] dayOfWeekName = new String[]{"日","月","火","水","木","金","土"};これで出力すると、正しい曜日が取得できた。(水曜日)
Calendar cal1 = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年 MM月 dd日");
String strDate = sdf.format(toDay) + "("+dayOfWeekName[cal1.get(Calendar.DAY_OF_WEEK) - 1]+")";
title.setText(strDate);
ListView.OnScrollChangeListener OnScrollChangeInput = new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
ListView lvHis = findViewById(R.id.lvHistory);
lvHis.setSelectionFromTop(((ListView) v).getFirstVisiblePosition(),((ListView) v).getChildAt(0).getTop());
// lvHis.setScrollY(scrollY);
}
};
ListView.OnScrollChangeListener OnScrollChangeHistory = new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
ListView lvInput = findViewById(R.id.lvInput);
lvInput.setSelectionFromTop(((ListView)v).getFirstVisiblePosition(),((ListView)v).getChildAt(0).getTop());
// lvInput.setScrollY(scrollY);
}
};
/**お互いのスクロール位置が一致してる場合は、setScrollXをしない設定のがいいかも。
* 日付横スクロールの同期
*/
HorizontalScrollView.OnScrollChangeListener OnScrollChangeRightHead = new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
HorizontalScrollView hsvHis = findViewById(R.id.hsvHistory);
hsvHis.setScrollX(scrollX);
}
};
/**
* 履歴横スクロールの同期
*/
HorizontalScrollView.OnScrollChangeListener OnScrollChangeRightHistory = new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
HorizontalScrollView hsvHead = findViewById(R.id.hsvRight_head);
hsvHead.setScrollX(scrollX);
}
};
<EditText
android:padding="10px"
android:gravity="center_vertical|right"
android:id="@+id/tvQuantity"
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="1"
android:paddingRight="10px"
android:text="10"
android:textSize="30px"
android:focusable="false"
android:inputType="number"
/>
private int oldX;
ScrollView.OnTouchListener OnTouchDate = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int width = v.findViewById(R.id.tvMonth_01).getWidth()+v.findViewById(R.id.lineMonth_00_01).getWidth();
int scrollX = v.getScrollX();
int index =scrollX / width; //firstVisibleItem
int su = scrollX % width; //firstVisibleItemとNextの揺らぎ
int newX;
if(su > width / 2){
newX = (index + 1) * width; //半数超えてるなら次に吸いつき
}else{
newX = (index) * width; //半数超えてないなら前に吸いつき
}
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// タップした時に ScrollViewのScrollY座標を保持
oldX = scrollX;
break;
case MotionEvent.ACTION_MOVE:
// scroll座標とoldを比較。スクロール状態の判定。
if (oldX != scrollX) {
//スクロール中
}
System.out.println("スクロール終了");
break;
case MotionEvent.ACTION_UP:
//吸いつき座標先へスクロール
v.setScrollX(newX);
break;
default:
//来ない
break;
}
return false;
}
};
<ScrollView
android:id="@+id/svLeft_v"
android:layout_weight="1"
android:layout_width="0px"
android:layout_height="match_parent"
android:fillViewport="true"
>
public class InputActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_input);
//カスタマイズしたレイアウトファイルを指定
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
}
}
public class InputActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
}
}