小编and*_*vil的帖子

如何在API 7的Android应用程序中使用NumberPicker?

我的应用程序的最小sdk是7,但我可以使用来自sdk版本11的DialogFragment,因为它位于我的lib目录中的支持库中.

我想制作类似这样的例子:http://developer.android.com/guide/topics/ui/controls/pickers.html

但我想使用NumberPicker小部件,它也来自sdk版本11,但我的应用程序不允许这样做.我是否必须添加其他支持库?

我该如何使用这个组件?

谢谢.

android android-dialogfragment numberpicker android-support-library

7
推荐指数
1
解决办法
5021
查看次数

如何使用字符串数组填充ListView?

我想在我的ListView中显示这些itens

<string-array name="bookmark_titles">
    <item>Google</item>
    <item>Bing</item>
    <item>Gmail</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

我有一个获取这些值的方法.

public static Collection getBookmarks(Context context) {
    Collection bookmarks = new Collection();

    String[] titles  = context.getResources().getStringArray(R.array.bookmark_titles);

    for (int i = 0; i < titles.length; i ++) {
        bookmarks.add(titles[i]);
    }

    return bookmarks;
}
Run Code Online (Sandbox Code Playgroud)

如何在main.java中调用方法getBookmarks来填充ListView?

我已经创建了一个ListView.它是:

<ListView
    android:id="@+id/my_listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="#ECECEC"
    android:dividerHeight="1sp" />
Run Code Online (Sandbox Code Playgroud)

main.java我想做这样的事情:

ListView lv = (ListView) findViewById(R.id.my_listView);

ArrayList<Bookmark> my_array = BookmarkCollection.getTestBookmarks(context);
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, my_array);    
lv.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

android

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

如何处理在子视图中单击,并在父ViewGroups中触摸?

在我的布局中,我有一个像这样的结构:

--RelativeLayout
  |
  --FrameLayout
    |
    --Button, EditText...
Run Code Online (Sandbox Code Playgroud)

我想在RelativeLayout和FrameLayout中处理触摸事件,所以我在这两个视图组中设置了onTouchListener.但只捕获RelativeLayout中的触摸.

为了尝试解决这个问题,我编写了自己的CustomRelativeLayout,并覆盖了onInterceptTouchEvent,现在捕获了子ViewGroup(FrameLayout)中的点击,但按钮和其他视图中的单击没有任何效果.

在我自己的自定义布局中,我有这个:

public boolean onInterceptTouchEvent(MotionEvent ev) {
    return true;
}
Run Code Online (Sandbox Code Playgroud)

android ontouchlistener viewgroup

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

如何在 Android WebView 中嵌入 Youtube 视频?

我想在我的 Android 应用程序中嵌入一个 youtube 视频。它有一个Navigation Drawer,当这个抽屉被打开时,视频必须继续播放。而且我希望我的应用能够播放受版权限制的视频,例如来自Vevo 的视频。我的第一次尝试只是https://www.youtube.com/embed/VIDEO_ID使用 Chrome 客户端将嵌入 url ( )加载到WebView 中,但是对于许多视频,例如来自 Vevo 的视频,像这样,我看到以下消息:

This Video Contains content from Vevo. It is restricted from playback on certain sites

为了处理这个错误,我决定使用Youtube API

在这个库的可用实现之间,我尝试了这些:

Android API 的优点是我可以播放具有上述限制的视频,但它被丢弃了,因为它的默认行为是播放器在打开抽屉时停止视频。

使用 Iframe API,我可以在抽屉打开时播放视频,但没有限制。

我最后的尝试是使用 Javascript API。目前我和iframe有同样的情况,就是不能播放有限制的视频。

但是我认为这是找到解决方案的正确方法。在api 参考中,他们建议使用SWFObject,但据我所知,没有可用于移动设备的闪光,如本答案中公开的那样。那么,还有另一种在我的 WebView 中嵌入视频的方法吗?

另一个疑问是:即使有“某些网站”的限制,移动网站如何才能播放来自 youtube 的视频?请理解,这里问的是谁对 Javascript 没有太多经验的 Android 开发人员。

目前,我有这段代码:

将加载播放器的布局:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

html javascript iframe android youtube-api

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

如何暂停和恢复 Android 闹钟?

我正在开发一个警报器,它按定义的时间间隔振动。因此,如果我选择 5 秒,应用程序将每隔 5 秒振动一次。但我需要停止、暂停和恢复该应用程序。

这是我的课:

public class AndroidAlarmService extends Activity {

private PendingIntent pendingIntent;
private Chronometer chronometer;
private Intent myIntent;
AlarmManager alarmManager;
Calendar calendar;
private long mTimeWhenStopped;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button buttonStart = (Button) findViewById(R.id.startalarm);
    Button buttonStop = (Button) findViewById(R.id.stopalarm);
    Button buttonPause = (Button) findViewById(R.id.pausealarm);
    Button buttonResume = (Button) findViewById(R.id.resumealarm);

    chronometer = ((Chronometer) findViewById(R.id.clock_time));

    myIntent = new Intent(AndroidAlarmService.this,
            MyAlarmService.class);
    pendingIntent = PendingIntent.getService(
            AndroidAlarmService.this, 0, myIntent, 0);

    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    calendar = Calendar.getInstance();
Run Code Online (Sandbox Code Playgroud)

我用这个方法启动它: …

android alarmmanager android-alarms

5
推荐指数
1
解决办法
2088
查看次数

如果我在 WRITE_EXTERNAL_STORAGE 权限中设置了 maxSdkVersion,为什么我的地图应用程序会崩溃?

我已经按照此链接中的说明设置了我的地图。并WRITE_EXTERNAL_STORAGE按照Android官方文档推荐的权限设置,即只为API级别18及以下请求此权限。所以,我有这个清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp" >

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                     android:maxSdkVersion="18"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <uses-library android:name="com.google.android.maps"/>
        <activity
            android:name=".activities.HomeActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />    
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="@string/map_api_key"/>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

但我正面临这个错误:

Caused by: java.lang.SecurityException: The Maps API requires the additional following
permissions to be set in the AndroidManifest.xml to ensure a …
Run Code Online (Sandbox Code Playgroud)

maps android android-permissions

5
推荐指数
1
解决办法
2593
查看次数

如何在ViewPager中水平滚动webview?

我有一个viewpager,每个页面都必须显示不同的WebView.这个WebView应该允许horizo​​ntall scrool,我想在滚动完成时滑动到下一页.

我搜索过,并找到了一些解决方案,但我没有解决这个问题.我有一个CustomViewPager和一个CustomWebView来尝试处理滚动事件.

这是我的代码:

自定义ViewPager

public class WebViewPager extends ViewPager {

    public WebViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
        if (v instanceof ExtendedWebView) {
            return ((ExtendedWebView) v).canScrollHor(-dx);
        } else {
            return super.canScroll(v, checkV, dx, x, y);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

自定义WebView

public class ExtendedWebView extends WebView {

    public ExtendedWebView(Context context) {
        super(context);
    }

    public ExtendedWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public boolean canScrollHor(int direction) …
Run Code Online (Sandbox Code Playgroud)

android scroll webview android-viewpager

5
推荐指数
1
解决办法
5744
查看次数

如何使用Android Studio在twitter4j中修复NoClassDefFoundError?

我想将我的项目与Twitter集成.所以,我正在使用twitter4j.我正在使用gradle来管理依赖项.

目前,我正面临这个问题:

java.lang.NoClassDefFoundError: twitter4j.conf.ConfigurationBuilder
Run Code Online (Sandbox Code Playgroud)

我用Google搜索并找到了一个解决方案,即将"lib"文件夹的名称更改为"libs",但这适用于Eclipse.如何在Android Studio中解决此问题?

谢谢!

android noclassdeffounderror twitter4j android-studio

3
推荐指数
1
解决办法
2624
查看次数

我如何为Eclipse在已经运行的AVD中安装我的应用程序?

当我运行我的Android应用程序时,Eclipse会打开另一个与我正在使用的名称相同的AVD.

它不能只在当前的AVD中安装我的应用程序吗?

eclipse android android-virtual-device

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