小编Mak*_*oto的帖子

不推荐使用setBackgroundDrawable()

所以我的sdk从15到21,当我打电话时setBackgroundDrawable(),Android Studio告诉我它已被弃用.

我想过用它来绕过它:

int sdk = android.os.Build.VERSION.SDK_INT;

if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));
} else {
    layout.setBackground(getResources().getDrawable(R.drawable.img_wstat_tstorm));
}
Run Code Online (Sandbox Code Playgroud)

但是,我在"setBackground()"收到错误.

那么,你会如何应对呢?

android deprecated deprecation-warning

74
推荐指数
6
解决办法
7万
查看次数

将String转换为LatLng

我正在使用Google Maps API v2,我从我需要转换为LatLng的SharedPreferences中获取位置坐标单个字符串"-34.8799074,174.7565664".

有人可以帮忙吗?

谢谢!

android google-maps-android-api-2

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

addToBackStack()不起作用

我有我的MainActivity管理两个一起工作的片段.我的一个方法是ListFragment上的监听器接口,MainActivity负责切换片段.

但由于某种原因,似乎addToBackStack不起作用.当我点击列表时,转到下一个片段并点击设备的后退按钮......它只是在设备主屏幕上的应用程序之外.

谁知道问题是什么?

@Override
public void OnSelectionChanged(Object object) {
    DetailFragment DetailFragment = (DetailFragment) getFragmentManager().findFragmentById(R.id.detail_fragment);

    if (DetailFragment != null) {
        DetailFragment.setTitle(object);
    } else {
        DetailFragment newDetailFragment = new DetailFragment();
        Bundle args = new Bundle();

        args.putSerializable(DetailFragment.KEY_POSITION,object);
        newDetailFragment.setArguments(args);
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();

        fragmentTransaction.replace(R.id.fragment_container, newDetailFragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

JSONException:索引5超出范围[0..5)

我正在使用这个使用这个JSON对象的应用程序遇到一些麻烦:http://api.worldweatheronline.com/premium/v1/marine.ashx? q = -34.8799074,174.7565664&key = 3477e975c4d9a8a0eaac2b2c818f4& format = json&tide = YES

有些日子它工作正常,从JSON对象中获取数据没有问题,有些日子我得到这种错误:JSONException:索引5超出范围[0..5).

12-04 11:12:30.328    1916-1931/android_kaizen.com.drawerskippermate E/FetchWeatherTask? Index 5 out of range [0..5)
org.json.JSONException: Index 5 out of range [0..5)
        at org.json.JSONArray.get(JSONArray.java:263)
        at org.json.JSONArray.getJSONObject(JSONArray.java:480)
        at android_kaizen.com.drawerskippermate.MainActivity$FetchWeatherTask.getWeatherDataFromJson(MainActivity.java:579)
        at android_kaizen.com.drawerskippermate.MainActivity$FetchWeatherTask.doInBackground(MainActivity.java:754)
        at android_kaizen.com.drawerskippermate.MainActivity$FetchWeatherTask.doInBackground(MainActivity.java:318)
        at android.os.AsyncTask$2.call(AsyncTask.java:287)
        at java.util.concurrent.FutureTask.run(FutureTask.java:234)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
        at java.lang.Thread.run(Thread.java:864)
Run Code Online (Sandbox Code Playgroud)

甚至没有改变一行代码!! 奇怪的是,可以在Web浏览器中看到JSON对象.

有没有人遇到类似的情况,可以解释为什么会发生?

谢谢!

编辑:这是我的代码:

private DayForecast[] getWeatherDataFromJson(String forecastJsonStr) throws JSONException {

        final String JSON_DATA = "data";
        final String JSON_WEATHER = "weather";
        final String JSON_MAX …
Run Code Online (Sandbox Code Playgroud)

android json jsonexception

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

使用Java中的循环切换语句

我有一个switch语句来更改image resourceId:

int imageId = 0;
    switch (i) {
        case 0:
            imageId = R.drawable.image0;
            break;
        case 1:
            imageId = R.drawable.image1;
            break;
        case 2:
            imageId = R.drawable.image2;
            break;
        case 3:
            imageId = R.drawable.image3;
            break;
        case 4:
            imageId = R.drawable.image4;
            break;
        case 5:
            imageId = R.drawable.image5;
            break;
        case 6:
            imageId = R.drawable.image6;
            break;
        case 7:
            imageId = R.drawable.image7;
            break;
    }
Run Code Online (Sandbox Code Playgroud)

但我一直试图找出如何使用循环来做到这一点,因为案例编号和每个图像末尾的数字相匹配.尝试使用for循环但没有成功.

有人可以帮忙吗?

谢谢!!

java android loops for-loop switch-statement

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