小编Ada*_*gyi的帖子

如何以编程方式设置layout_gravity?

我的问题很简单,

如何以编程方式设置我的按钮layout_gravity?

我在互联网上发现了这个,但它只是抛出了一个Nullpointer异常:

 Button MyButton = new Button(this);

    LinearLayout.LayoutParams  lllp=(LinearLayout.LayoutParams)MyButton.getLayoutParams();
    lllp.gravity=Gravity.RIGHT;
    MyButton.setLayoutParams(lllp); 


    MyLinearLayout.addView(MyButton);
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

android android-layout

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

如何检查json密钥是否存在?

所以,我从服务器获取了一些JSON值,但我不知道是否会有特定的字段.

所以喜欢:

{ "regatta_name":"ProbaRegatta",
  "country":"Congo",
  "status":"invited"
}
Run Code Online (Sandbox Code Playgroud)

有时,会有一个额外的字段,如:

{ "regatta_name":"ProbaRegatta",
  "country":"Congo",
  "status":"invited",
  "club":"somevalue"
}
Run Code Online (Sandbox Code Playgroud)

我想检查名为"club"的字段是否存在,以便在解析时我不会得到org.json.JSONException:没有俱乐部的价值

java android json

144
推荐指数
6
解决办法
26万
查看次数

java.lang.IllegalArgumentException:AppCompat不支持当前的主题功能

我试图将项目从Eclipse迁移到Android工作室.最后我能够运行它,但在某个时刻我得到了这个例外,我在谷歌中没有发现这个:

04-22 00:08:15.484    9891-9891/hu.illion.kwindoo E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{hu.illion.kwindoo/hu.illion.kwindoo.activity.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    ...    
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
    at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360)
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
    at hu.illion.kwindoo.activity.MainActivity.onCreate(MainActivity.java:73)
    at android.app.Activity.performCreate(Activity.java:5047)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    ...
Run Code Online (Sandbox Code Playgroud)

73. MainActivity的行是:

setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)

如果可以,请告诉我.

java eclipse android android-studio

107
推荐指数
5
解决办法
6万
查看次数

无法手动将已签名的apk安装到设备上,出现错误"App not installed"

我想将我的应用程序发布到GooglePlay,但首先我想对签名的apk进行最后一次测试,以确保所有使用过的API密钥都能正常使用发布版本(GMaps,Facebook等)

所以我用我们的发布密钥制作了我的应用程序的签名版本,当我尝试将应用程序安装到设备时,我收到了一个错误:

在此输入图像描述

我试图将apk复制到设备并使用apk安装程序应用程序安装它.

奇怪的是,当我使用调试签名密钥执行相同的过程时,一切都很好,我可以安装并运行应用程序.

以下是该过程的步骤:

我选择了释放键,输入密码.

以下是该过程的步骤:

选择发布版本类型而不是调试

我选择发布版本类型而不是调试

以防我在gradle文件中定义了签名密钥,但我必须承认我不知道是否有必要.

以防我在gradle文件中定义了签名密钥,但我必须承认我不知道是否有必要.

我现在尝试了7次7次,所以我认为这个问题不只是输入错误的密码,我也可以使用标准的调试android签名密钥.

如果可以的话请帮忙.

android release certificate android-install-apk

96
推荐指数
15
解决办法
10万
查看次数

在连接函数调用后,GoogleApiClient正在抛出"GoogleApiClient尚未连接"

所以我找到了关于GoogleApiClient的一些不太清楚的东西. GoogleApiClient有一个名为onConnected的函数,它在客户端连接时运行(肯定)

我得到了自己的函数:startLocationListening,最终在GoogleApiClient的onConnected函数上调用.

所以我的startLocationListening函数无法在没有GoogleApiClient连接的情况下运行.

代码和日志:

@Override
public void onConnected(Bundle bundle) {
    log("Google_Api_Client:connected.");
    initLocationRequest();
    startLocationListening(); //Exception caught inside this function
}
Run Code Online (Sandbox Code Playgroud)

...

private void startLocationListening() {
    log("Starting_location_listening:now");

    //Exception caught here below:
    LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
   }
Run Code Online (Sandbox Code Playgroud)

例外是:

03-30 12:23:28.947: E/AndroidRuntime(4936):     java.lang.IllegalStateException: GoogleApiClient is not connected yet.
03-30 12:23:28.947: E/AndroidRuntime(4936):     at com.google.android.gms.internal.jx.a(Unknown Source)
03-30 12:23:28.947: E/AndroidRuntime(4936):     at com.google.android.gms.common.api.c.b(Unknown Source)
03-30 12:23:28.947: E/AndroidRuntime(4936):     at com.google.android.gms.internal.nf.requestLocationUpdates(Unknown Source)
03-30 12:23:28.947: E/AndroidRuntime(4936):     at hu.company.testproject.service.GpsService.startLocationListening(GpsService.java:169)
03-30 12:23:28.947: E/AndroidRuntime(4936): …
Run Code Online (Sandbox Code Playgroud)

android google-api-client google-play-services android-googleapiclient

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

如何将参数传递给OnClickListener?

如何将参数传递给OnClickListener()?

听了我的听众:

   OnClickListener myListener = new OnClickListener()
   {

     @Override
     public void onClick(View v)
     {
         //I want to reach params here

     }

  };
Run Code Online (Sandbox Code Playgroud)

我有12个按钮,我不想为他们写12个听众,将字符串传递给他们会很棒,他们可以做完全不同的事情.

android onclicklistener

58
推荐指数
4
解决办法
8万
查看次数

模拟器的位置模拟无法正常工作

我想将我的应用程序的最低API级别从5.0(Lollipop)降低到4.4(KitKat)

可悲的是,我无法获得任何真正的设备,因此我必须使用模拟器.

我的应用程序主要基于用户的位置,因此主要测试必须针对位置更改功能.

我尝试使用官方Google Android模拟器进行位置模拟.(x86)的

我已经制作了4.4模拟器并且工作正常,我的应用程序工作正常,但当我尝试通过扩展控制面板发送位置时没有任何反应.

如果我加载GPX文件,位置会显示在GPS数据播放内部的扩展控制面板的表格中,但设备不会获得任何位置.

在此输入图像描述

我填写纬度和经度点击"发送"但没有任何反应.

我还尝试从Android设备监视器的"仿真器控制"选项卡模拟位置更改

"发送"按钮无法点击在所有中,长期和LAT字段将被禁用,我可以不填任何东西."GPX"和"KML"选项卡也被禁用.

在此输入图像描述

我还尝试使用Gps Emulator插件,如下所示:

在此输入图像描述

进度条确实增加,所以不像我尝试的前两种方法,这最终看起来像实际上做了一些东西,但模拟器仍然没有获得位置更改.一点也不.

我通过命令行尝试了第四种方法:

telnet localhost 5554
Run Code Online (Sandbox Code Playgroud)

但我有Connection refused错误信息.

所以我不能尝试通过以下方式发送位置:

geo fix <longitude value> <latitude value>
Run Code Online (Sandbox Code Playgroud)

(在我的Windows上启用了Telnet)

gps android android-emulator android-studio

44
推荐指数
6
解决办法
5万
查看次数

c ++中"this"的类型?

struct Foo
{
 void f()
 {
 // (*)
 }
};
Run Code Online (Sandbox Code Playgroud)

标有(*)的行中"this"的类型是什么?

const Foo*还是Foo*

c++

32
推荐指数
2
解决办法
2632
查看次数

如何在Android中完全杀死/删除/删除/停止AsyncTask

我制作了一个从我们的服务器上下载视频的应用.问题是:

当我取消下载时,我打电话:

myAsyncTask.cancel(true)
Run Code Online (Sandbox Code Playgroud)

我注意到,这myAsyncTask不会停止呼叫取消...我ProgressDialog仍然上升,就像从状态跳到状态显示我每次取消并再次启动时AsyncTask通过单击下载按钮,新的AsyncTask启动...每个时间我点击下载..然后取消,然后再次单独下载AsyncTask启动.

为什么myAsynTask.cancle(true)不取消我的任务?我不再想要它了.如果我点击取消,我只想完全关闭它.

怎么做 ?

编辑:

感谢gtumca-MAC,以及帮助我​​的其他人做到了:

while (((count = input.read(data)) != -1) && (this.isCancelled()==false)) 
{
    total += count;
    publishProgress((int) (total * 100 / lenghtOfFile));
    output.write(data, 0, count);
}
Run Code Online (Sandbox Code Playgroud)

谢谢!!!

android android-asynctask

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

我的应用中的Google地图不可见

当我启动我的应用程序时,我收到以下错误:

V/GoogleSignatureVerifier(4962): com.myapp.application signature not valid.  Found: 
V/GoogleSignatureVerifier(4962): MIIDDTCCAfWgAwIBAgIEO0I8qTANBgkqhkiG9w0BAQsFADA3MQswCQYDVQQGEwJVUzEQMA4GA1UE
V/GoogleSignatureVerifier(4962): ChMHQW5kcm9pZDEWMBQGA1UEAxMNQW5kcm9pZCBEZWJ1ZzAeFw0xNTA0MjEyMDM4NDRaFw00NTA0
V/GoogleSignatureVerifier(4962): MTMyMDM4NDRaMDcxCzAJBgNVBAYTAlVTMRAwDgYDVQQKEwdBbmRyb2lkMRYwFAYDVQQDEw1BbmRy
V/GoogleSignatureVerifier(4962): b2lkIERlYnVnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/4shkSGhYP1pwMY4bFc
V/GoogleSignatureVerifier(4962): dKuMg6JyTdUON6XF8VxifADMYd/WwgzsETT+AHZXlo6RwQFhtwbxrvmuhBOMip2ivhmRGT8JpBcI
V/GoogleSignatureVerifier(4962): FqjCOxLzw3B3psZhnioZwCBTKBrCau8/q0XW40lXa/OCy2wA4EZs2ThaqwqgdGwpKXN+qHNHAFAS
V/GoogleSignatureVerifier(4962): 0g/SdupsSID+WctlL2XdCo50Jq/bJJAWQBz1SL03xBWUikuiWKM6mz/6Up8oE4WtZhU7V83R7FYM
V/GoogleSignatureVerifier(4962): XmRU4CghlvczG+ujCrZwSsYttsZgz2nb4NY2w9fvevAXgSB/N6JfOatnccW5vmukkm6g12iysA9u
V/GoogleSignatureVerifier(4962): hS3EjVb01bKyMdoXhQIDAQABoyEwHzAdBgNVHQ4EFgQUByeU0uE1tXyrL0UimKkJH2CbeXIwDQYJ
V/GoogleSignatureVerifier(4962): KoZIhvcNAQELBQADggEBABPPel3zEbk6/ZzwfvIS0z8IqvYgzxzxSZFEAp+PrlEEyk+IVHQgQAVS
V/GoogleSignatureVerifier(4962): I6JM9rNkxR2hvQHP3V9pd2d5bYhsCBZFSn6drOmnBrnABXH8e4OdqN9fRcKn+acfbZ+yBvZoVbr/
V/GoogleSignatureVerifier(4962): IhRvRrpLDtDNnD4kUoLfTgw/Xygdiq5/aU5WSfXdrUx6Va0vg6uJZY6Yq4J4a/R+/T7lLwzQgerq
V/GoogleSignatureVerifier(4962): eNUvY9HbcmegJDKMGeyc4Po8akAt9gDRo4nswuP0Sve8oSMqBEfO8ItTsIPx3UVEXuYUeC8e8nwb
V/GoogleSignatureVerifier(4962): fyhDXSFAo59Y1+NWcZNsGdum95YV8oZloF7+4fFqBwz7w0mb+M+JfY1sg7I=
Run Code Online (Sandbox Code Playgroud)

我已经读过debug.keystore默认密钥只有1年的有效期,所以必须先删除它以让android studio生成一个新的.最终我做到了,但错误仍然存​​在.

此举后,我的应用程序中的Google地图不再可见...

如果可以的话请帮忙.

android android-keystore

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