为什么捆绑getParcelableArrayList,getParcelable方法; 但
Intent只有putParcelableArrayListExtra方法?我可以只传输object<T>,而不是ArrayList一个元素吗?那么,是getParcelable为了什么?
我在listview上遇到了麻烦.它的项目(行)有图像按钮.imagebutton有"android:onClick"所以这个onclick事件正在运行,但点击行不起作用.如果我从行项目中删除图像按钮,单击行工作(列表视图具有正确的onclick列表器).我该如何解决?当用户点击图像按钮和标准点击事件时,我需要onclick事件,当用户选择行时(不单击图像按钮但单击该行)
我的列表视图:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/restaurants_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@color/list_devider"
android:dividerHeight="1dp"
android:cacheColorHint="@color/list_background" />
Run Code Online (Sandbox Code Playgroud) 我TextView在文件中有一个简单的模板simple_txt.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:textSize="18sp" >
</TextView>
Run Code Online (Sandbox Code Playgroud)
在某些代码中,我需要TextView从此模板创建一个类似于:
TextView txt = new TextView(this);
txt.setLayout(R.layout.simple_txt);//???
Run Code Online (Sandbox Code Playgroud)
然后用它做某事(setText等等).我TextView该如何创建这样的?
我必须从电脑管理伺服系统.
所以我必须将管理消息从计算机发送到Arduino.我需要管理伺服和转角的数量.我想发送类似这样的东西:"1; 130"(第一个伺服和第130个角,分隔符";").
有没有更好的方法来实现这一目标?
这是我的代码:
String foo = "";
void setup(){
Serial.begin(9600);
}
void loop(){
readSignalFromComp();
}
void readSignalFromComp() {
if (Serial.available() > 0)
foo = '';
while (Serial.available() > 0){
foo += Serial.read();
}
if (!foo.equals(""))
Serial.print(foo);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.有什么问题?
我有特殊字符的值,在我的xml中编码为ascii.例如 :
<?xml version="1.0" encoding="UTF-8"?>
<response>
<name>Žirmūnų</name>
</response>
Run Code Online (Sandbox Code Playgroud)
但是当我解析价值时,name我只得到&价值.难道是允许使用#或&在XML?或者我必须使用cdata?
如何– "在TextView中显示特殊字符(如)?
我需要模拟一些自定义类(为它创建一个阴影).我已经阅读了http://robolectric.org/custom-shadows/如何做到这一点.
所以,我有一些课:
public class MyClass {
public static int regularMethod() { return 1; }
}
Run Code Online (Sandbox Code Playgroud)
我创造了一个阴影:
@Implements(MyClass.class)
public class MyShadowClass {
@Implementation
public static int regularMethod() { return 2; }
}
Run Code Online (Sandbox Code Playgroud)
我在Test-class中设置了阴影:
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, shadows={MyShadowClass.class})
public class MyTest {
@Test
public void testShadow() {
assertEquals(2, MyClass.regularMethod());
}
}
Run Code Online (Sandbox Code Playgroud)
但阴影没有使用.
java.lang.AssertionError:
Expected :2
Actual :1
Run Code Online (Sandbox Code Playgroud)
如何为RobolectricGradleTestRunner制作任何自定义阴影?
我已经尝试过了:
但我得到各种编译错误,如
InstrumentingClassLoaderConfig 未找到Setup 未找到 如何在robolectric 3.0中正确使用自定义阴影?
我有一个活动
public class MyActivity extends ActionBarActivity {
public int i;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
i = getSomeInt();
}
protected int getSomeInt() {
return 1; // here can be an api-request
}
}
Run Code Online (Sandbox Code Playgroud)
我想用robolectric 3.0和测试它mockito.
但我需要嘲笑getSomeInt()方法.
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class)
public class MyActivityTest {
private MyActivity mActivity;
@Before
public void setUp() {
mActivity = spy(Robolectric.buildActivity(MyActivity.class).create().get());
doReturn(2).when(mActivity).getSomeInt(); //but it is already after onCreate!
}
@Test
public void testGetInt() {
assertEquals(2, mActivity.i); //error …Run Code Online (Sandbox Code Playgroud) 我需要文本中间的文本按钮和文本左侧的图标.
我的按钮:
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick=""
android:text="@string/search_button"
android:textColor="@drawable/button_text"
android:layout_weight="1"
android:background="@drawable/button"
android:drawableLeft="@drawable/new_star_nonactive" />
Run Code Online (Sandbox Code Playgroud)
我需要宽度为fill_parent的按钮(所有屏幕宽度)
但我有这个:

如何在文本附近设置图像位置中心?
我有一个SwitchCompat:
<android.support.v7.widget.SwitchCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Some title"/>
Run Code Online (Sandbox Code Playgroud)
我想阻止点击文字标题.当我点击文字标题时,切换开关.但我想切换只在我点击切换图标.
可能吗?或者我必须为此创建两个单独views的:一个TextView用于标题,一个用于SwitchCompat没有文本?
我在另一个线程中有一些工作要做(通过doingAsyncTask).用户单击按钮时开始工作.但同时只有一个doneAsyncTask对象必须完成这项工作,我知道如果在执行AsyncTask工作,那么点击按钮就不能创建一个新的对象doneAsyncTask并执行它,它必须等到工作完成.我怎么检查它?
public class SearchActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//....
}
public void onclickButton(View view) {
new doingAsyncTask().execute();
}
public class doingAsyncTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... unused) {
//doing something
return(null);
}
protected void onProgressUpdate() {
}
protected void onPreExecute() {
}
protected void onPostExecute() {
}
}
}
Run Code Online (Sandbox Code Playgroud)
解决了 所有问题,它适用于我
if(task.getStatus() == AsyncTask.Status.FINISHED)
task=new ProgressBarShow();
if(task.getStatus() == AsyncTask.Status.PENDING){
//task=new ProgressBarShow();
task.execute();
}
Run Code Online (Sandbox Code Playgroud) 如何在将数据加载到我的webview中时显示进度条?我的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_PROGRESS);
getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
this.setProgressBarVisibility(true);
setContentView(R.layout.layout_article);
WebView webview = (WebView) findViewById(R.id.webView);
final Activity activity = this;
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 100);
}
});
webView.loadUrl("http://google.com");
}
Run Code Online (Sandbox Code Playgroud) android ×10
robolectric ×2
textview ×2
ampersand ×1
arduino ×1
bundle ×1
button ×1
click ×1
decimal ×1
format ×1
image ×1
imagebutton ×1
layout ×1
listview ×1
loaddata ×1
mocking ×1
mockito ×1
onclick ×1
parcelable ×1
progress-bar ×1
python ×1
serial-port ×1
shadows ×1
string ×1
switchcompat ×1
testing ×1
unit-testing ×1
webview ×1
xml ×1