Chuwen 发布的文章

Android Spinner 动态增加 item,以及添加 Spinner 监听选择/选中项事件

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.confrim_activity);

        //获取控件
        Spinner startPlace = (Spinner) findViewById(R.id.start_place);

        List<String> stringList = new ArrayList<>();
        stringList.add("项目1");
        stringList.add("项目2");
        stringList.add("项目3");

        //使用系统的默认样式 android.R.layout.simple_spinner_item
        ArrayAdapter adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, stringList);

        //使用系统默认下拉样式 android.R.layout.simple_spinner_dropdown_item
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        startPlace.setAdapter(adapter);

        //监听选择事件
        startPlace.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                //TODO 选中事件
                //position:选中的哪个    stringList.get(position)
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });
    }

QQ20201028-105957@2x.png

Homebrew 国内自动安装脚本 (macOS)

安装脚本

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

该项目地址

Gitee:https://gitee.com/cunkai/HomebrewCN

安装过程

  1. 打开启动器软件 终端 (或者可以使用 Command + 空格 搜索 终端
    打开启动器软件 终端 (或者可以使用 Command + 空格 搜索 终端
  2. 粘贴这行命令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 然后按回车运行(Return)

    小提示:Command + C 复制,Command + V 粘贴
    QQ20201026-161912@2x.png
  3. 然后根据提示怎么操作就怎么操作吧

Java List 与 JSON 相互转换

使用谷歌 Gson:

//list转换为json
Gson gson = new Gson();  
List<Person> persons = new ArrayList<Person>();  
String str = gson.toJson(persons);  
//json转换为list
Gson gson = new Gson();  
List<Person> persons = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType());  

记一次 Android Studio 里面的代码全部错乱

初次怀疑可能是自己在 macOS 下打开过次项目导致错乱

在 Android Studio 下和自己用 Notpad++ 打开显示的代码不一样,NotePad++显示才是正确的
在 Android Studio 下和自己用 Notpad++ 打开显示的代码不一样,NotePad++显示才是正确的

尝试过解决 Reload All from Disk,依旧无用

解决办法(自测有效)

关闭 Android Studio,删掉 caches 文件夹,再次打开

请注意我是 Android Studio 4.0.2 版本

以下的版本可能有些差别,反正在 Android Studio 相关路径下,看到 cache 字样的文件夹,删除就完事了

我自己的路径在:

  • C:\Users\chuwen\.android\cache
  • C:\Users\chuwen\.AndroidStudio4.0\system\cache

具体的要自己看看了

Snipaste_2020-10-24_19-17-42.jpg


参考方案:https://www.jianshu.com/p/4d722b1a1ac0
Google 搜索关键字:android studio代码错乱

MPAndroidChart 中文文档 (翻译版-非官方)

来源

https://github.com/tuteng/MPAndroidChart


开始

安装

为了使用 LineChart, BarChart, ScatterChart, CandleStickChart, PieChart or RadarChart,像下面一样定义它在 .xml中:

        <com.github.mikephil.charting.charts.LineChart
            android:id="@+id/chart"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

然后通过下面的方式从你的Activity, Fragment诸如此类的东西中检索它:

        LineChart chart = (LineChart) findViewById(R.id.chart);

或者创建它在代码中(然后增加它到一个布局中):

        LineChart chart = new LineChart(Context);

        RelativeLayout rl = (RelativeLayout) findViewById(R.id.relativeLayout);
        rl.add(chart);

更新

  • invalidate():在图表图表项目中调用这个方法将重新刷新屏幕。

数据记录

  • setLogEnabled(boolean enabled):设置这个为真将激活图表项目中的logcat输出

通用图表项目样式

下面是一些你能直接使用在图表项目中的通用的样式方法。

  • setBackgroundColor(int color):设置背景颜色这将覆盖整个图表项目视图。另外,一个背景颜色能被设置在.xml的布局文件中
  • setDescription(String desc):设置一个描述文本出现在图表的右下角。
  • setDescriptionColor(int color): 设置描述文本的颜色。
  • setDescriptionPosition(float x, float y): 设置一个自定义坐标用于定位描述文本在屏幕上的像素。
  • setDescriptionTypeface(Typeface t): 设置采用Typeface来绘制买描述文本。
  • setDescriptionTextSize(float size): 设置描述文本的像素尺寸,最小6f,最大16f。
  • setNoDataTextDescription(String desc): 设置图表为空时出现的文本。
  • setDrawGridBackground(boolean enabled): 如果打开,背景矩形将出现在已经画好的绘图区域的后边。
  • setGridBackgroundColor(int color): 设置网格背景颜色。
  • setDrawBorders(boolean enabled):打开或关闭绘制的图表边框。(环绕图表的线)
  • setBorderColor(int color):设置图表边框线的颜色。
  • setBorderWidth(float width): 设置图表边框线的宽度。
  • setMaxVisibleValueCount(int count): 设置一个数字用于图表中显示绘制的值标签。这仅作用于当setDrawValues()允许时。

- 阅读剩余部分 -