小编Eri*_*ran的帖子

CardView layout_margin无效

我正在玩新的CardView,但边缘似乎没有应用.

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:layout_marginLeft="18dp"
android:layout_marginRight="18dp"
card_view:cardCornerRadius="4dp"
card_view:cardBackgroundColor="#FFA"
card_view:layout_margind="4dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<TextView
    android:id="@+id/info_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"/>

</LinearLayout>

</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我在ViewPager中的片段中使用它.该卡扩展了屏幕的整个宽度(match_parent),即使我在CardView上使用android:layout_marginLeft ="18dp"和android:layout_marginRight ="18dp".

我有什么想法可能做错了吗?

android android-viewpager android-cardview

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

Android Volley MalformedURLException错误的URL

在使用第二个网络请求后Volley,我总是收到此错误.我输入的网址是什么似乎并不重要. Volley总是声称它是畸形的.

08-04 20:16:26.885  14453-14470/com.thredup.android E/Volley? [994] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL
java.lang.RuntimeException: Bad URL
        at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:127)
        at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
 Caused by: java.net.MalformedURLException: Protocol not found:
        at java.net.URL.<init>(URL.java:176)
        at java.net.URL.<init>(URL.java:125)
        at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:101)
        at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:93)
Run Code Online (Sandbox Code Playgroud)

进一步调查,我在HurlStack中放了几个日志.在

public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders),
Run Code Online (Sandbox Code Playgroud)

失败的请求是REQUEST [ ] 0x0 LOW 26."

因此,HurlStack的第101行: URL parsedUrl = new URL(url);

以空URL(request.getUrl()为空)失败.

我正在使用OkHttpStack(扩展HurlStack).关于可能导致这种情况的任何想法?

android android-networking android-volley okhttp

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

莫西在科特林无视领域

我想知道在使用Moshi时如何忽略Kotlin类字段.

我找到了这个Java(Moshi忽略字段)的答案,它表明使用关键字transient如下

private transient String your_variable_name;
Run Code Online (Sandbox Code Playgroud)

但我找不到在Kotlin完成这项工作的正确方法.

json ignore serializer kotlin moshi

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

单一活动中的Android搜索活动

我想让我的应用程序包含一个单一的活动.此活动应该能够创建搜索并接收搜索.不幸的是,当我点击操作栏中的搜索按钮时,我的SearchView中会出现一个"双"搜索栏.我的意思是有一个搜索栏(dark-- SearchView)在操作栏中显示一秒钟,然后在操作栏上显示第二个(白色).有帮助吗?我究竟做错了什么?对不起,这个搜索的东西都是新的,让我感到困惑.

MainActivity(唯一的活动):

public class MainActivity extends ActionBarActivity {
Menu mMenu;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //getSupportActionBar().setDisplayShowTitleEnabled(false);
    setContentView(R.layout.activity_main);

    handleIntent(getIntent());
}

@Override
protected void onNewIntent(Intent intent) {
    handleIntent(intent);
}

private void handleIntent(Intent intent) {
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        //use the query to search your data somehow
    }
}

@SuppressLint("NewApi")
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    mMenu = menu;
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);



    if …
Run Code Online (Sandbox Code Playgroud)

android android-searchmanager searchview android-search

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

WebView.loadUrl()中的Android JS

我想在WebView中加载网页但删除部分网页.所以,我创建了一个自定义WebViewClient.并且,在onPageFinished()中,我做了一些javascript来删除一些元素.然后,我使WebView可见.

但是,当我运行它时,它将视图设置为可见,然后我看到要删除的元素.就好像JS在后台运行非常慢.它会创建一个糟糕的观看体验,因为它会闪烁整个页面,然后闪烁所需的部分页面.

这是我的onPageFinished()

@Override
public void onPageFinished(WebView view, String url) {

    view.loadUrl("javascript:"
            + "document.getElementsByClassName('header')[0].style.display='none';"
            + "document.getElementById('section_0').style.display='none';"
            + "document.getElementById('page-actions').style.display='none';"
            + "document.getElementsByClassName('languageSelector')[0].style.display='none';"
            + "document.getElementById('mw-mf-last-modified').style.display='none';"
            + "document.getElementById('footer').style.display='none';");

    loadingView.setVisibility(View.INVISIBLE);
    view.setVisibility(View.VISIBLE);
}
Run Code Online (Sandbox Code Playgroud)

有想法该怎么解决这个吗?

javascript android android-webview webviewclient

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

在一种情况下将 Kotlin 泛型限制为不为 null

我有一个泛型类型 ( T: Any?),我需要在一种情况下限制它null

class Repository<T> { // T may be a non-null or nullable type.
  fun getFromFoo(): T {}
  fun getFromBar(): T {} // This is never null. Can I mark it as so?
}


val repository = Repository<String>()
val fromFoo: String = repository.getFromFoo() // Returns a non-null String.
val fromBar: String = repository.getFromBar() // How do I make this work?


val repository = Repository<String?>()
val fromFoo: String? = repository.getFromFoo() // Returns a nullable String.
val …
Run Code Online (Sandbox Code Playgroud)

generics kotlin

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

ChromeCast:Chrome示例项目未运行

我按照以下设置说明操作:https://github.com/googlecast/CastHelloText-chrome一步一步.

我在这里有我的Google云端硬盘托管文件夹:https://drive.google.com/folderview?id = 0ByI6ac75SrewSE1odEdBMm1fNk0&usp =sharing

我将我的URL(对于我在开发人员控制台中的应用程序)设置为https://googledrive.com/host/0ByI6ac75SrewSE1odEdBMm1fNk0/receiver.html

但是,当我运行我的chromehellotext时:https://googledrive.com/host/0ByI6ac75SrewSE1odEdBMm1fNk0/chromehellotext.html 我在控制台中收到此错误:"onError:{"code":"session_error","description":"NOT_FOUND" ,"details":null}"当我点击回车并选择我的Chromecast时,我的Chromecast将无法连接.

我究竟做错了什么?

google-chrome google-cast chromecast

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

Gson使用多种对象类型反序列化JSON数组

我有一些奇怪的JSON像:

[
  {
    "type":"0",
    "value":"my string"
  },
  {
    "type":"1",
    "value":42
  },
  {
    "type":"2",
    "value": {
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

基于某些字段,数组中的对象是某种类型.使用Gson,我的想法是有一个TypeAdapterFactory将那些特定类型的委托适配器发送到TypeAdapter,但是我想知道读取"type"字段以了解要创建哪种类型的好方法.在TypeAdapter中,

Object read(JsonReader in) throws IOException {
  String type = in.nextString();
  switch (type) {
    // delegate to creating certain types.
  }
}
Run Code Online (Sandbox Code Playgroud)

我会假设"类型"字段在我的JSON中排在第一位.有没有一种可行的方法来消除这种假设?

java json gson

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

使用NFC标签连接到802.1x WiFi

我正在尝试编写NFC标签,以便能够自动将Android设备连接到具有基于802.1x网络的安全性的WiFi网络.我可以使用WEP,WPA和WPA2安全的WiFi网络轻松完成此操作,但是可以为802.1x执行此操作吗?如果是这样,我该怎么办?另外,我很确定我完全误解了802.1x.

android nfc wifi 802.11

5
推荐指数
0
解决办法
616
查看次数

改造从重定向URL获取参数

我正在使用翻新。

我有一个重定向到另一个端点的端点。后者(我最终到达的端点)在其URL中有我需要的参数。获取此参数值的最佳方法是什么?

我什至无法弄清楚如何使用Retrofit获得重定向到的URL。

java networking android retrofit

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