小编Mat*_*iRC的帖子

如何获得与编辑文本相关的TextInputLayout?

我在不同的TextInputLayouts中有许多编辑文本,如何获取TextInputLayout我正在使用的编辑文本在哪里?

范例:

@BindView(R.id.eT)
EditText eT;

@BindView(R.id.eT2)
EditText eT2;

@BindView(R.id.text_input_layout)
TextInputLayout textInputLayout;

@BindView(R.id.text_input_layout2)
TextInputLayout textInputLayout2;
Run Code Online (Sandbox Code Playgroud)

我想要像eT.getTextInputLayout并获取textInputLayout

xml的提取:

 <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:orientation="horizontal">

                <Spinner
                    android:id="@+id/spinner"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAlignment="center" />

                <android.support.design.widget.TextInputLayout
                    android:id="@+id/text_input_layout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
                    app:errorTextAppearance="@style/error_appearance"
                    app:hintAnimationEnabled="true"
                    app:errorEnabled="true">

                <EditText
                    android:id="@+id/eT"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:ems="10"
                    android:inputType="number" />

                </android.support.design.widget.TextInputLayout>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:orientation="horizontal"
                tools:layout_editor_absoluteX="8dp"
                tools:layout_editor_absoluteY="0dp">

                <TextView
                    android:id="@+id/tV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:labelFor="@+id/spinne2"
                    android:text="@string/tarjeta" />

                <Spinner
                    android:id="@+id/spinner2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAlignment="center" />

            </LinearLayout>

            <android.support.design.widget.TextInputLayout
                android:id="@+id/text_input_layout2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                app:hintTextAppearance="@style/TextAppearence.App.TextInputLayout"
                app:errorTextAppearance="@style/error_appearance"
                app:hintAnimationEnabled="true"
                app:errorEnabled="true">

                <EditText
                    android:id="@+id/eT2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:ems="10" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext butterknife android-textinputlayout

5
推荐指数
2
解决办法
4402
查看次数

如何在 symfony 中正确处理 JSON 请求?

我正在尝试处理这个问题:我的应用程序发送 JSON POST 请求,其中包含在 Json 中编码的几个信息。例子:

{"UserInfoA":{"1":123,"2":"hello","3":"bye","4":{"subinfo":1,"subinfo2":10}},
 "UserInfoB":{"a":"12345678","b":"asd"}} // and so on...
Run Code Online (Sandbox Code Playgroud)

每个 UserInfo 有:

  • 它自己的实体(尽管某些请求可能具有多个实体的信息)。
  • 一个控制器,将这个对象持久化到 DB 上,然后返回这个 DB 上的 ID。

所以,为了解决这个问题,我做了另一个控制器,比如 JsonHandler,它接收这个请求,然后将这个 JSON 转换为不同的对象后转发到每个控制器。例子:

public function getJson (Request $request){
    if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
                $data = json_decode($request->getContent(), true);
            }
    if (!isset($data['UserInfoA'])){
         return new JsonResponse('ERROR');
              }
    $uia = $data['UserInfoA'];
    $idInfoA = $this->forward('Path::dataAPersist',array('data'=>$uia));
        }
    // same with userinfoB and other objects
    return $idInfoA ;
Run Code Online (Sandbox Code Playgroud)

这工作完美,但它正确吗?我应该改用服务吗?

编辑:我需要在 Json 中响应 ID 并且 this->forward 返回一个响应,所以我不能使用 JsonResponse,如果直接发送 $idInfoA 只是发送 IDNUMBER 而不是 JSON,我该怎么做?

总结一下 …

php service json forward symfony

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