我在不同的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
我正在尝试处理这个问题:我的应用程序发送 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 有:
所以,为了解决这个问题,我做了另一个控制器,比如 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,我该怎么做?
总结一下 …