欢迎您光临优德w888!

优德w888 > 军史 > 解放军军史:解放军一师创造了十个军史第一

解放军军史:解放军一师创造了十个军史第一

时间:2019-12-19 12:23

小布看神剧,大叫“解放军打鬼子”,这就麻烦了,晚上散步时好好说道下咱们的军史。

优德w888 1

这是一篇记叙文

记叙文六要素:人物、时间、地点、事件发生的起因、经过、结果

世上本无解放军。孙中山先生提出“联俄、联共,扶助农工”, 开展了第一次国共合作。最典型就是黄埔军校成立时,苏联赞助了成船的军火,蒋介石任校长,26岁的大帅哥周恩来任黄埔军校政治部主任。国民党组建了国民革命军,允许共产党员加入国民党。大批黄埔精英分别加入了国共两党,没想到不久就同学操戈,成为一生的敌人。

在辽沈战役的辽西会战中,第十六师师长王东保率第四十六团占据姚家窝棚,顶住敌军轮番冲击,顽强阻击一昼夜,在兄弟部队的配合下,粉碎了廖耀湘兵团的北逃企图,为全歼该兵团立下奇功。战后,一连荣获“英雄连”称号,二连荣获“钢铁连”称号,警卫连荣获“突击连”称号。

人物:

保密

蒋介石觉得共产党很危险,很快发动了大屠杀。共产党发觉还是得“枪杆子里出政权”,就在1927年8月1日南昌起义,建立了自己的第一支军队,“八一”建军节由此而来。军队叫作中国工农红军,简称红军。红军在各地不断发展壮大,建立根据地和政权。

在广东战役中,王东保率第一二七师主力协同攻打佛冈,歼灭敌拥有美械装备、号称“钢铁团”的国民党军第三十九军第三○七团。广西战役的桂东南追歼战,王东保率部以猛虎掏心战术,一举捣毁国民党军第三兵团司令部,活捉该兵团中将司令张淦。

时间:

2017-06-28

红军打建立起就被国军不断围攻。第五次反“围剿”红军打了败仗,边撤边寻找落脚点。这一撤就是二万五千里,史称长征

第一二七师从以叶挺独立团扩编的南昌起义军第二十五师开始,到朱德领导的工农革命军第一师,再到红一军团第二师、八路军第一一五师第三四三旅第六八五团、新四军第三师第七旅,直至东北民主联军第六纵队第十六师,一路下来,历史悠久,功勋卓着,不但成为一支特别能战斗的王牌师,而且成为解放军建军的一些原则和制度实施的“试验田”和见证者。

地点:

保密

  • 上来就贴代码
    <android.support.design.widget.TextInputLayout
        android:id="@+id/til_new_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:gravity="center_vertical"
        android:hint="提示的话"
        app:counterEnabled="true"
        app:counterMaxLength="10"
        app:counterOverflowTextAppearance="@style/TextAppearance.Design.Counter.Overflow"
        app:counterTextAppearance="@style/TextAppearance.Design.Counter">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/et_new_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:digits="0123456789ABCDEFabcdef"
            android:maxLength="10"
            android:singleLine="true"
            android:textSize="24sp"
            tools:text="00FF010206"/>
    </android.support.design.widget.TextInputLayout>
  • 对应的图图

优德w888 2

Paste_Image.png

TextInputLayout继承自LinearLayout,TextInputEditText继承自AppCompatEditText,二者结合使用就是为了实现上图的风骚效果的。需要依赖Design包compile 'com.android.support:design:25.3.1'

红军长征到达陕北,蒋介石派张学良继续围剿,并亲自到西安督战。但张学良身背家仇国恨,发动“西安事变”,扣押蒋介石,促成了国共第二次合作。十年内战结束,红军接受改编,成为“八路军”(国民革命军第八路军)和“新四军”(新编第四军)合作抗日。

创造了解放军的十个第一:中国共产党掌握的第一支革命武装,参加南昌起义打响武装反抗国民党反动派的第一枪,第一个“支部建在连上”的党支部,第一个建立士兵委员会的单位,第一个执行“三大纪律六项注意”的试点单位,第一个设立“列宁室”的单位,第一个执行“政治课”制度的单位,第一个实践游击战“十六字诀”的单位,全军第一个建立红军医院的师级单位,全军第一支轻型机械化步兵师

起因:

我想通过继承TextInputEditText自定义一个TadIDEditText,在上图风骚效果的基础上实现TagID号(eg:0102030405)每两位后面自动加一个空格(Space)的效果,代码如下

public class TadIDEditText extends TextInputEditText {
    private boolean shouldStopChange = false;

    public TadIDEditText(Context context) {
        super(context);
    }

    public TadIDEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public TadIDEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    private TextWatcher mTagIDEidtTextWatcher = new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }

        @Override
        public void afterTextChanged(Editable s) {
            if (shouldStopChange) {
                shouldStopChange = false;
                return;
            }
            shouldStopChange = true;
            String str = s.toString().trim().replaceAll(" ", "");
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < str.length(); i++) {
                sb.append(str.charAt(i));
                if (i % 2 == 1 && i != str.length() - 1) {
                    sb.append(" ");
                }
            }
            setText(sb);
            setSelection(sb.length());
        }
    };

    @Override
    public void addTextChangedListener(TextWatcher watcher) {
        super.addTextChangedListener(mTagIDEidtTextWatcher);
    }

    @Override
    public void removeTextChangedListener(TextWatcher watcher) {
        super.removeTextChangedListener(mTagIDEidtTextWatcher);
    }

    public String getInputTagIDText() {
        return getText().toString().replace(" ", "").trim();
    }

    public TextWatcher getTagIDEditTextWatcher() {
        return mTagIDEidtTextWatcher;
    }
}

抗战胜利后只一年,国共翻脸,重新开打。这次我们目标是解放全中国,所以军队改名叫“中国人民解放军”,一直叫到了今天。解放军从北向南一路打,将国民党赶到了台湾。

经过:

  • 先解释一下shouldStopChange的作用。
    因为是在afterTextChanged方法中判断、添加空格的,所以执行完afterTextChanged方法后,EditText的Text又变了,又会触发TextChanged,如果不通过这个变量控制,就会进入死循环,界面卡死,方法栈溢出。
  • addTextChangedListener(TextWatcher watcher)的源码(在TextView中)如下
    public void addTextChangedListener(TextWatcher watcher) {
        if (mListeners == null) {
            mListeners = new ArrayList<TextWatcher>();
        }
        mListeners.add(watcher);
    }
    void sendAfterTextChanged(Editable text) {
        if (mListeners != null) {
            final ArrayList<TextWatcher> list = mListeners;
            final int count = list.size();
            for (int i = 0; i < count; i++) {
                list.get(i).afterTextChanged(text);
            }
        }
        hideErrorIfUnchanged();
    }

也就是你可以给TextView及其继承者们添加多个TextWatcher,当其中的Text发生变化时,会依次调用这些TextWatcher中的几个方法。
注意:依次、依次、依次

  • 为了实现良好的封装,我希望添加空格的逻辑写在TadIDEditText中,鉴于此,我写好了一个mTagIDEidtTextWatcher优德w888 ,,为了让咱这个EditText功能专一,我重写了addTextChangedListener,如下,就是让它只能设置这一个监听器。
@Override
    public void addTextChangedListener(TextWatcher watcher) {
        super.addTextChangedListener(mTagIDEidtTextWatcher);
    }

结果造成了下面的问题

  • 使用TadIDEditText的时候,多次调用addTextChangedListener会造成多次添加mTagIDEidtTextWatcher,比如添加了2次,依据上面的分析我shouldStopChange这个变量就失去作用了,照样造成死循环、方法栈溢出。

  • 我在Activity中调用了一次addTextChangedListener,结果还是界面卡死、方法栈溢出了。然后通过一个简单的log,我发现尽管我只调用了一次,但是addTextChangedListener执行了两次,而且即使我不调用,addTextChangedListener也会执行一次。这就奇怪了???而且TextInputLayout右下角的计数也不计数了,这下就明白了,TextInputLayout和TextInput搭配使用,之所以能计数,不就是加了一个TextWatcher吗?看源码,果不其然。终于在TextInputLayout中发现了问题所在。以下贴出TextInputLayout中的几个方法。

@Override
    public void addView(View child, int index, final ViewGroup.LayoutParams params) {
        if (child instanceof EditText) {
            // Make sure that the EditText is vertically at the bottom, so that it sits on the
            // EditText's underline
            FrameLayout.LayoutParams flp = new FrameLayout.LayoutParams(params);
            flp.gravity = Gravity.CENTER_VERTICAL | (flp.gravity & ~Gravity.VERTICAL_GRAVITY_MASK);
            mInputFrame.addView(child, flp);

            // Now use the EditText's LayoutParams as our own and update them to make enough space
            // for the label
            mInputFrame.setLayoutParams(params);
            updateInputLayoutMargins();

            setEditText((EditText) child);<<<<<<<<<<<<<<<<<<<重点看这里
        } else {
            // Carry on adding the View...
            super.addView(child, index, params);
        }
    }
private void setEditText(EditText editText) {
        // If we already have an EditText, throw an exception
            ......
        // Add a TextWatcher so that we know when the text input has changed
        mEditText.addTextChangedListener(new TextWatcher() {<<<<<<<<<<<<<<<<<<<重点看这里
            @Override
            public void afterTextChanged(Editable s) {
                updateLabelState(!mRestoringSavedState);
                if (mCounterEnabled) {
                    updateCounter(s.length());//更新计数
                }
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {}
        });

        // Use the EditText's hint colors if we don't have one set
            ......
    }

看到这儿总算找出了咱的bug,看来我这种写法问题多多啊,不过也通过问题对这两个控件了解了一下。

优德w888 3

结果:

咱想想还能怎么改。继续撸码。

解放军的前世今生 摄影师阿布

但实际上解放军也默默地改过一次名。1950年,美国鬼子带领“联合国军”侵略朝鲜,一部分解放军改番号改编制,改名叫作“中国人民志愿军”,去了朝鲜,与世界上最强大的敌人浴血奋战,打出了军威国威。为什么要改名呢?打仗是国与国之间很正经的事情,有一套宣战什么的规矩。一正式,买东西什么的很多事就不方便了。志愿军嘛,有人看不惯你自愿去打你的,不关国家事。留点余地好商量。打完这仗志愿军称号就取消了。

为什么现在还叫解放军?不是还没有解放全中国嘛……

红军——八路军、新四军——解放军(志愿军),军队大名就是这些由来了。

那神剧里面的其他背景,你又分得清吗?比如什么叫鬼子、伪军、顽军?什么叫根据地、游击区、敌占区、国统区?

鬼子,是我们骂外来侵略者的,最常骂的是日本鬼子;此外,我们还在东面朝鲜打赢了16国“联合国军”鬼子,1962年在西面的喜马拉雅山痛打了印度鬼子,1969年在北面的珍宝岛打退了苏联老毛子,1979年在南面暴打了越南鬼子,当然中间还不定时敲打过东南面台湾的国军。

伪军,就是假政府的兵。抗日战争期间,日本人先后在东北扶持了清朝末代皇帝的“满洲国”,在武汉扶持了汪精卫的“武汉国民政府”,为日本代言。这两个政权我们都不承认,所以叫他们“伪政权”。他们的部队就叫伪军

顽军,是国共已经合作抗日了,还顽固不化反共的国军。比如杀害刘胡兰的阎西山军队。

根据地,是共产党完全占领并建立政权管理收税的地盘。这里的群众对共产党最忠诚,所以敌人打过来后经常被血洗。不管是红军还是八路军时期,根据地的老乡都愿意跟随部队撤退。比如王二小就是为了掩护撤退的八路军和老乡被敌人刺死的。

游击区,是我们还没有完全占领的地区。游击队到时属于游击队的领区,游击队走了又属于伪政权。

敌占区,是敌人占领的地区,常指沦陷于日军的城市,在这里打游击都很困难。

国统区,就是国民党牢牢控制的辖区了。比如重庆。

今日江边夜话,神剧背景再不怕。讲完了。

上一篇:没有了 下一篇:《智取威虎山》——真3D,最徐克