我有一个扩展的类view
,它定义了一个自定义绘图(电阻).我想点击一个按钮并将其添加view
到main layout
.所以我看到电阻器,如果我再次点击它会添加另一个电阻器,依此类推.但我不知道解决这个问题的最佳方法.我已经看过很多引用的问题layoutinflater
,但是没有一个问题让自定义视图类膨胀(也许我正在寻找错误的东西),它总是一个xml
文件. 所以我的问题是:如何ResistorViews
在我的布局中添加多个,以便用户可以与它们进行交互(移动,删除,突出显示等)?
这是我尝试过的:
活动类:
public class CircuitSolverActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button bAddResistor = (Button) findViewById(R.id.bAdd);
final LinearLayout mLayout = (LinearLayout)findViewById(R.layout.main);
final ResistorView mResistor = new ResistorView(this, 100, 100);
bAddResistor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mLayout.addView(mResistor);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
ResistorView类:
public class ResistorView extends View{
private Path mSymbol;
private Paint mPaint;
int mX, mY;
//...Override …
Run Code Online (Sandbox Code Playgroud) 所以我一直在寻找约3个小时,但我还没有找到一个好的答案/解决方案.
我的问题是:为什么我的最大加速度值仅为约34 m/s ^ 2或约3.5 Gs(34/9.81).
是因为硬件限制还是软件限制?如果它是硬件我知道我不能做任何事情(或至少不容易).如果是软件限制,那么我该如何删除该限制,有没有办法做到这一点?像API或什么?
我很感激任何帮助,谢谢.
注意:我正在使用Galaxy S,如果这有所不同.我也看看这个问题,但这对我没有帮助:什么是android加速度计最小和最大范围
所以,我正在研究一个程序,我需要检查一个字符串是否有多个点.我去看了一下文档regex
,发现了这个:
X{n,m}? X, at least n but not more than m times
Run Code Online (Sandbox Code Playgroud)
按照这个逻辑,我尝试了这个:
mString = "He9.lo,"
if (myString.matches(".{1,2}?")){
System.out.print("it works");
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用(它没有给出任何错误,它只是不会做内部的事情if
).我认为问题是认为点意味着别的东西.我也看了这个问题:正则表达式,但是对于PHP,我不知道如何将其应用于java.
编辑:基本上我想知道一个字符串是否包含多个点,例如:
他...... lo(True,包含多个),hel.llo(False,包含一个),.. shell.o(True包含多个).
任何帮助,将不胜感激.