困ったときのStackOverFlowがやはり役に立って、このあたりの回答と参考にすると、 結局のところ環境変数ANDROID_SKD_HOMEに.androidの上のディレクトリ(\Users\toyuserなど)を指定してやればこのエラーは出なくなった。
問題はなんで今まで作成できたものが出来なくなったのかは分からないけど、とりあえず解決したらかクローズ。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/view0"
android:gravity="center" />
<TextView
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SlideBar"
android:background="#6090ef"
android:gravity="center" />
<Button
android:id="@+id/view2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="BottomView" />
</LinearLayout>
public class SlideBarWidgetActivity extends Activity {
Context context;
SlideBarDrugViewController controller;
View upperView;
View slidebarView;
View bottomView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
upperView = (View)this.findViewById(R.id.view0);
slidebarView = (View)this.findViewById(R.id.view1);
bottomView = (View)this.findViewById(R.id.view2);
context = this;
}
public void onWindowFocusChanged(boolean hasFocus) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
final int screenHeight = display.getHeight();
Rect r = new Rect();
this.upperView.getGlobalVisibleRect(r);
if(controller == null){
/**
* (1)以下の4つの引数を与える
* drugView 可変ビュー(スライドバーの上部ビュー)
* slideBarView スライドバーとなるビュー
* minpx 可変ビューの上部(top)の絶対座標
* maxHeight スライドバーが下に動く最大サイズ。画面全体の大きさを入れると最下端まで移動させられる
*/
controller = new SlideBarDrugViewController(upperView, slidebarView, r.top, screenHeight);
}
}
@Override
public boolean onTouchEvent(MotionEvent event){
// (2) onTouchイベントをcontrollerに委譲
return controller.onTouchEvent(event);
}
}