小编San*_*ans的帖子

Android:如何使用其名称从资源中获取字符串?

我想在UI中使用2种语言,并在我的资源文件中为它们分别使用字符串值res\values\strings.xml:

<string name="tab_Books_en">Books</string>
<string name="tab_Quotes_en">Quotes</string>
<string name="tab_Questions_en">Questions</string>
<string name="tab_Notes_en">Notes</string>
<string name="tab_Bookmarks_en">Bookmarks</string>

<string name="tab_Books_ru">?????</string>
<string name="tab_Quotes_ru">??????</string>
<string name="tab_Questions_ru">???????</string>
<string name="tab_Notes_ru">???????</string>
<string name="tab_Bookmarks_ru">????????</string>
Run Code Online (Sandbox Code Playgroud)

现在我需要在我的应用中动态检索这些值:

spec.setContent(R.id.tabPage1);
String pack = getPackageName();
String id = "tab_Books_" + Central.lang;
int i = Central.Res.getIdentifier(id, "string", pack);
String str = Central.Res.getString(i);
Run Code Online (Sandbox Code Playgroud)

我的问题是i = 0.

为什么它在我的情况下不起作用?

string resources android

527
推荐指数
13
解决办法
55万
查看次数

将recyclerview与数据库一起使用

目前没有可用的RecyclerView.Adapter的默认实现.

可能正式发布,谷歌将添加它.

由于不存在用于支持CursorAdapterRecyclerView当前,如何才能使用RecyclerView同一个数据库?有什么建议 ?

android simplecursoradapter android-recyclerview

126
推荐指数
3
解决办法
8万
查看次数

AlertDialog.Builder具有自定义布局和EditText; 无法访问视图

我正在尝试使用EditText对象创建警报对话框.我需要以EditText编程方式设置初始文本.这就是我所拥有的.

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
AlertDialog alertDialog = dialogBuilder.create();
LayoutInflater inflater = this.getLayoutInflater();
alertDialog.setContentView(inflater.inflate(R.layout.alert_label_editor, null));
EditText editText = (EditText) findViewById(R.id.label_field);
editText.setText("test label");
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能拥有有效的EditText对象?

[编辑]

因此,user370305和其他人指出我应该使用它 alertDialog.findViewById(R.id.label_field);

不幸的是,这里有另一个问题.显然,设置内容视图AlertDialog会导致程序在运行时崩溃.您必须在构建器上设置它.

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
// ...Irrelevant code for customizing the buttons and title
dialogBuilder.setView(inflater.inflate(R.layout.alert_label_editor, null));
AlertDialog alertDialog = dialogBuilder.create();
LayoutInflater inflater = this.getLayoutInflater();
EditText editText = (EditText) alertDialog.findViewById(R.id.label_field);
editText.setText("test label");
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)

不幸的是,当你这样做时,alertDialog.findViewById(R.id.label_field); …

android

91
推荐指数
4
解决办法
17万
查看次数

ListView没有在NestedScrollView中扩展

CoordinatorLayout在我的活动页面中使用.在那里有ListViewapp栏下方.但是当我使用它ListView而不是它时它不起作用NestedScrollView.如果我把ListView里面NestedScrollView,ListView不扩大

android android-coordinatorlayout android-appbarlayout nestedscrollview

35
推荐指数
6
解决办法
4万
查看次数

Android:在textview周围添加边框

如何使用xml布局在文本中添加边框

图片1

我已经尝试添加边框布局,但它与文本重叠.

图片2

android border textview

17
推荐指数
2
解决办法
4万
查看次数

Android:在运行时设置TextView样式

有没有人知道如何TextView在运行时设置样式:

这样的事情

myTextView.setStyle(R.style.mystyle);
Run Code Online (Sandbox Code Playgroud)

android

12
推荐指数
2
解决办法
3万
查看次数

@Module在dagger for android中意味着什么?

我已经阅读了很多博客,但我仍然无法弄清楚@Module匕首中的注释功能. @Inject我得到它在运行时提供依赖注入.但是做了什么呢@Module.因为对象图也是建立在模块上的.

例如,我有这段代码来自https://github.com/AndroidBootstrap/android-bootstrap.

@Module(
    complete = false,

    injects = {
        BootstrapApplication.class,
        BootstrapAuthenticatorActivity.class,
        MainActivity.class,
        BootstrapTimerActivity.class,  
    }
)
public class BootstrapModule {
}
Run Code Online (Sandbox Code Playgroud)

那基本上做了什么呢.因为我也试图使用匕首构建一个应用程序作为android的依赖注入.但是因为我无法@Module清楚地得到概念,所以我只是被卡住了.

任何人都可以帮助我一些基本的例子或概念.我认为这对所有使用匕首的人都有帮助.

android dagger android-bootstrap

10
推荐指数
2
解决办法
3309
查看次数

如何在 Android 应用中播放 Vimeo 视频

有什么方法可以在 Android中WebViewVideoView在 Android 中播放 Vimeo Video 。任何播放 Vimeo 的源代码都会对我有所帮助。请帮忙。

android vimeo vimeo-api

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

在 Android VideoView 中播放 Vimeo 视频

我正在开发一个 Android 应用程序。在我的应用程序中,我必须在VideoView. Vimeo 中的视频不起作用。每当我尝试加载 Vimeo 视频时,都会收到错误消息:

"sorry, this video cannot be played".
Run Code Online (Sandbox Code Playgroud)

我在 StackOverflow 中看到了一些类似的讨论。所以我尝试了Vittamio 演示。还有 Vimeo 视频没有播放。

在 youtube url 的情况下,我们必须转换为 RTSP。例如

http://www.youtube.com/watch?v=Jx3pdWBlZ34
Run Code Online (Sandbox Code Playgroud)

将转换为

rtsp://v4.cache8.c.youtube.com/CiILENy73wIaGQl-Z2VgdekdJxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp
Run Code Online (Sandbox Code Playgroud)

我给的示例网址是这样的。

private String path = "http://player.vimeo.com/video/49462103 ";
and
private String path = "http://vimeo.com/49462103";
Run Code Online (Sandbox Code Playgroud)

这是在Android中输入Vimeo url的正确方法吗

请帮我解决我的问题的朋友。

android vimeo vimeo-api android-videoview

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

StableArrayAdapter与ArrayAdapter

我正在看这个ListView教程:

ListView教程

我想知道创建自己的更好ArrayAdapter,而不仅仅是使用和ArrayAdapter.

在教程中它定义了一个" StableArrayAdapter",这究竟意味着什么?如果我使用常规ArrayAdapter,可能因某些原因而危险吗?

android listview

4
推荐指数
2
解决办法
9272
查看次数

使用Volley for Android开发时写的setRetryPolicy()在哪里

它可能是一个简单的问题,但我在实际代码中测试它,无法判断Volley的setRetryPolicy()函数的正确行为.任何人请告诉我这份声明的正确立场.是在onErrorResponse()函数中写入重试策略还是在将请求输入队列之前?这是我的位图图像代码.我想在请求超时后重试20秒3次.请建议我写正确的重试政策的地方,并根据我的需要设置重试政策是否正确?

ImageRequest ir = new ImageRequest(url, new Response.Listener<Bitmap>() {

            @Override
            public void onResponse(Bitmap response) {
                      iv.setImageBitmap(response);

            }
        }, 0, 0, null, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

                ir.setRetryPolicy(new DefaultRetryPolicy(20 * 1000, 2, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

            }
        });

mRequestQueue.add(ir);
Run Code Online (Sandbox Code Playgroud)

android android-volley

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

从 Java HashMap 中删除零值

我有一个HashMap浮点值。

HashMap<Integer,Float> map : {(1,0.0),(2,0.0),(3,2000.0),(4,3000.0)}
Run Code Online (Sandbox Code Playgroud)

我想用零值删除其中的所有条目。结果应该是:

 map : {(3,2000.0),(4,3000.0)}
Run Code Online (Sandbox Code Playgroud)

更新:我使用的是 Java 7

java hashmap

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

::class.java 的含义是什么

我正在尝试通过 Retrofit2 访问 Web api,所以我为此创建了一个构建器,其中我不明白这条线在做什么,我如何能够在其中传递我的接口

 val retrofitBuilder = Retrofit.Builder()
                .addConverterFactory(GsonConverterFactory.create())
                .baseUrl(BASE_URL)
                .build()

                //meaning of this line
                **.create(ApiInterface::class.java)**
Run Code Online (Sandbox Code Playgroud)

这是界面

interface ApiInterface {

    @GET("users")
    fun getData():Call<List<FakeJsonDataItemItem>>

}
Run Code Online (Sandbox Code Playgroud)

我在里面传递什么?

java android kotlin retrofit2

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