小编Jab*_*ari的帖子

从ViewPager Fragments中隐藏Android应用程序中的软键盘

我有一个Android应用程序,其中包含一个包含2个片段的ViewPager.第一个片段包含EditText字段.当应用程序启动时,该字段立即获得焦点并启动软键盘(我想要发生).第二个片段仅包含一个列表(没有可编辑的文本字段).当我从片段1滑动到片段2时,我希望键盘消失.我尝试过的任何东西似乎都没有用.键盘不仅保持在视图中,还继续更新片段1的EditText字段.

我想我要么使用不正确的代码来隐藏键盘或将其放在错误的位置.如果任何人都可以发布正确实现的示例,将不胜感激!

我最近的尝试是放置应该在片段1的onDetach()方法中隐藏键盘的代码:

@Override
public void onDetach()
{
    super.onDetach();

    InputMethodManager imm = (InputMethodManager) this.context.getSystemService(Context.INPUT_METHOD_SERVICE);

    // I'VE TRIED ALL THREE BELOW, NONE OF THEM WORK...

        // imm.hideSoftInputFromWindow(this.messageView.getWindowToken(), 0);
        // imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
        // this.context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
Run Code Online (Sandbox Code Playgroud)

android android-softkeyboard android-fragments android-viewpager

9
推荐指数
1
解决办法
3452
查看次数

仅使用标题切换DrawerLayout(没有应用程序图标)?

我有一个活动DrawerLayout.我可以通过两种不同的方式打开抽屉......通过从屏幕的左侧区域向右滑动并单击应用程序标题.我没有显示应用程序图标,只有标题.我完全按照Google推荐的方式实现了这一点:创建导航抽屉:使用应用程序图标打开和关闭

就打开和关闭抽屉本身而言,一切都是有用的.但是,它不显示DrawerLayout假设要使用的标准图标.相反,我得到常规的插入符号(看起来像一个不到标志).

只要我将应用程序图标添加回其中,ActionBar它就会按预期开始工作.抽屉打开或关闭时,抽屉布局图标会显示并设置动画.我已尝试在我的样式XML文件中以编程方式删除应用程序图标.

有没有办法让DrawerLayout图标工作在没有应用程序图标???

更新:我找到了一个解决方案,但它比解决方案更糟糕.我只是创建了1x1像素透明PNG(blank.png)并将其设置为我的styles.xml文件中的app图标.以下是所有相关代码:

styles.xml

<style name="MyCustomTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyCustomActionBar</item>
    <item name="android:icon">@drawable/blank</item>
</style>

<style name="MyCustomActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:displayOptions">showHome|showTitle|homeAsUp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onCreate()

this.navDrawerToggle = new ActionBarDrawerToggle
(
    this,
    this.navDrawerLayout,
    R.drawable.icon_nav_drawer,
    R.string.nav_drawer_open,
    R.string.nav_drawer_closed
)
{
    public void onDrawerClosed(View view) {}
    public void onDrawerOpened(View drawerView) {}
};
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onPostCreate()

super.onPostCreate(savedInstanceState);
this.navDrawerToggle.syncState();
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onResume()

this.navDrawer.setOnItemClickListener(new DrawerItemClickListener());
this.navDrawerLayout.setDrawerListener(this.navDrawerToggle);
Run Code Online (Sandbox Code Playgroud)

MainActivity - > onPause()

this.navDrawer.setOnItemClickListener(null);
this.navDrawerLayout.setDrawerListener(null);
Run Code Online (Sandbox Code Playgroud)

MainActivity - …

android android-actionbar drawerlayout

6
推荐指数
2
解决办法
1万
查看次数

Twitter update_with_media通过Scribe OAuth在Android上

我目前正在使用Scribe成功验证并向Twitter发布非媒体消息.这很容易,我发布的第一条测试消息没有任何问题.但是,我似乎根本无法发布照片.我已经回顾了Twitter在这里这里发布媒体的说明.

Github上的所有Scribe/Twitter示例都是针对非媒体帖子的.如果有人能提供一个如何通过Scribe将照片发布到Twitter的可靠示例,那就太棒了!

我特别有两个问题:

1)我的帖子不会通过授权.我试过模仿上面发布的例子,但似乎没什么用.

2)当将图像从byte []转换为字符串时,我似乎只能在它停止之前获得4113个字符.根据我的理解,这远远低于String可以容纳的字符数.

这是我如何提取照片:

// GET PHOTO FILE AND FILE LENGTH
// INSTANTIATE UPLOAD VARIABLE WITH FILE LENGTH

    File file      = new File(photo); // ("photo" is a string path to the photo file)
    int fileLength = (int) file.length();

    uploadFile = new byte[fileLength];

// CREATE BUFFER INPUT STREAM OF FILE

    BufferedInputStream inputStream;

    try {inputStream = new BufferedInputStream(new FileInputStream(file));}
    catch (FileNotFoundException e)
    {
        inputStream = null;
        Toast.makeText(this.getApplicationContext(), "Buffer input stream error!", Toast.LENGTH_LONG).show();
    }

// READ …
Run Code Online (Sandbox Code Playgroud)

twitter android oauth scribe

0
推荐指数
1
解决办法
1303
查看次数