我要疯了。
我没有找到任何可行的解决方案(从stackoverflow尝试了一些)
场景(这是已经完成的实际截图):
我有一个 Activity,它有一个 View 作为他的属性。
此视图通过 View.addView(myView) 添加另一个视图。
我现在想在 myView 中添加一个 Button(具体来说:在 MotionEvent.ACTION_UP 之后,该按钮应该出现在右下角(这将启动机器人来驱动轨道))
这是我的代码的快捷方式:
public class ModeRouting extends View {
public ModeRouting(Context context) {
super(context);
Button asuroStartButton = new Button(context) //does not work
}
@Override
public boolean onTouchEvent(MotionEvent event) {
int actionevent = event.getAction();
if (actionevent == MotionEvent.ACTION_UP
|| actionevent == MotionEvent.ACTION_CANCEL) {
asuroStartButton.visible=true;
view.add(asuroStartButton);
}
return true;
}
}
和我的活动:
//in constructor
contentView = (FrameLayout) findViewById(R.id.content);
onClickListenerFacade(routingMode, route);
//this removes all views from stack and places the new one on the view
private void onClickListenerFacade(View v, final View target) {
v.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
contentView.removeAllViews();
contentView.setBackgroundColor(0xff000000);
contentView.addView(target);
modeSelectorAnimation();
}
});
}
我试图在我的 mainactivity.xml 中创建一个按钮并在我的 mainactivity 中实例化。
我在这里遗漏了一些观点,但我不确定是哪个。
由于我的视图是纯动态的(没有 layout.xml),我认为我不应该使用 layout.xml(也许那是我的思维障碍),而是动态地设置按钮属性。
任何提示表示赞赏!