我在我的项目中使用了兼容性软件包v4,并且Fragment在从视图中删除之后我遇到了一个问题.我有我Activity显示的2个片段......左边是菜单框,右边是内容窗格.菜单框有3个不同的菜单(碎片)可以显示.
这就是我正在替换菜单片段:
public void showMenuFragment( Fragment fragment, String tag ) {
showFragment( R.id.menu_frame, fragment, tag, false);
setLastMenuPushed( tag );
}
protected void showFragment( int resId, Fragment fragment, String tag, boolean addToBackStack ) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
if ( fragmentManager.findFragmentByTag( tag ) != null && fragment.isAdded() ) {
transaction.remove( fragment );
}
transaction.replace( resId, fragment, tag ).setTransition( FragmentTransaction.TRANSIT_FRAGMENT_OPEN ).setBreadCrumbShortTitle( tag );
if ( addToBackStack ) {
transaction.addToBackStack( tag );
}
transaction.commit();
} …Run Code Online (Sandbox Code Playgroud) 我一直在研究一个Android项目,我想要一些API来获取信息.看起来这应该是非常基本的!
这是我的代码的一般要点:
private InputStream retrieveStream2(String url)
{
DefaultHttpClient client = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(url);
System.out.println("getRequest == " + getRequest);
try {
HttpResponse getResponse = client.execute(getRequest);//here is teh problem
final int statusCode = getResponse.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK)
{
Log.w(getClass().getSimpleName(),
"Error " + statusCode + " for URL " + url);
return null;
}
HttpEntity getResponseEntity = getResponse.getEntity();
return getResponseEntity.getContent();
}
catch (Exception e)
{
getRequest.abort();
Log.w(getClass().getSimpleName(), "Error for URL, YO " + url, e);
}
return null; …Run Code Online (Sandbox Code Playgroud) 我有一些HTML,我正在转换为Spanned使用Html.fromHtml(...),我有一个自定义标签,我正在使用它:
<customtag id="1234">
Run Code Online (Sandbox Code Playgroud)
所以我已经实现了一个TagHandler处理这个自定义标记,如下所示:
public void handleTag( boolean opening, String tag, Editable output, XMLReader xmlReader ) {
if ( tag.equalsIgnoreCase( "customtag" ) ) {
String id = xmlReader.getProperty( "id" ).toString();
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我得到一个SAX异常,因为我认为"id"字段实际上是一个属性,而不是属性.但是,没有getAttribute()办法XMLReader.所以我的问题是,如何使用此获取"id"字段的值XMLReader?谢谢.
我的应用程序有时会在三星手机上崩溃:"java.lang.NullPointerException"但它并没有在任何地方引用我的代码.我该怎么做才能避免这个错误?
java.lang.NullPointerException
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:2476)
at android.app.ActivityThread.access$1800(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:952)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3691)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud) 如何在Android中的自定义DialogPreference中隐藏取消按钮?
这将有一个非常简单的答案,但我似乎无法找到它是什么.我想禁用EditText的自动大写,以便默认情况下输入的第一个字母不会自动大写.我仍然希望允许大小写,但仅当用户手动执行此操作时.
我已经尝试过android:capitalize="none"我的EditText,我已经尝试了android:inputType="text"但两个仍然自动大写第一个字母.我不想使用a TextWatcher因为在软键盘上它仍会显示按下第一个字母的shift键,而且我很挑剔并且不想要显示.
我的应用程序流式传输音乐,我希望能够暂停/播放/跳过可能支持这些按钮(汽车,耳机等)的任何蓝牙设备.当通过汽车的蓝牙连接时,音频会自动进入,但控制按钮不会影响我应用的音频流.它改为打开默认的媒体播放器.如何路由这些按钮以影响我的应用程序?
支持Chromecast的Netflix和YouTube应用在操作栏中显示MediaRouteButton,但Sender App Tutorial仅显示如何在布局中显示它.如何在操作栏中显示它?
我想阻止服务启动,所以我可以在我的UI测试中独立测试它.通过startService活动中的呼叫按下按钮即可触发服务.
我已尝试使用Intents该类,但这似乎不适用于调用startService:
Intents.intending(IntentMatchers.hasComponent(MyService.class.getName())).respondWith(new Instrumentation.ActivityResult(Activity.RESULT_CANCELED, null));
它似乎只与基于活动的意图相关.我没有在Espresso软件包中看到任何用于存根服务电话的内容.
我正在尝试测试两个不同的Activity类,其中一个Activity碰巧调用另一个.这是我的代码,然后我会解释这个问题:
IntroActivityTest
public class IntroActivityTest extends ActivityInstrumentationTestCase2<IntroActivity> {
IntroActivity activity;
public IntroActivityTest() {
super( IntroActivity.class );
}
@Override
protected void setUp() throws Exception {
super.setUp();
activity = getActivity();
}
public void testIntroBypass() {
if ( new SharedPreferencesHelper( getInstrumentation().getTargetContext() ).retrieveUserToken() == null ) {
assertTrue( !activity.isFinishing() );
}
else {
assertTrue( activity.isFinishing() );
}
}
}
Run Code Online (Sandbox Code Playgroud)
RootActivityTest:
public class RootActivityTest extends ActivityInstrumentationTestCase2<RootActivity> {
RootActivity activity;
public RootActivityTest() {
super( RootActivity.class );
}
@Override
protected void setUp() throws …Run Code Online (Sandbox Code Playgroud) android ×10
java ×2
bluetooth ×1
chromecast ×1
google-cast ×1
httpresponse ×1
junit ×1
tag-soup ×1
unit-testing ×1
xmlreader ×1