当新选项出现在HashMAp中时,我总是在xml文件中编辑文本视图和纯文本。但是,我应该在Hashmap中提供新选项或更多选项,并且应该自动更改界面中的新选项。
例如,地图中有三个选项
gateway_ip:162.198.23.10
net_mask:178.465.37.34
server_ip:243.798.76.59
我应该能够在HashMap中添加更多选项或编辑选项,并且应该在这样的界面中自动更新。
gateway_ip:162.198.23.10
net_mask:178.465.37.34
server_ip:243.798.76.59
网址:345.678.456.34
ip:901.234.123.45
基本上我应该更改应该在界面中自动更新的hashmap。谁能在这帮助我?
[界面图像] [1]
/ ------------------------- MainActivity.java --------------- ----------- /
package com.puchagmail.ganesh.trail2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
import java.util.HashMap;
import static android.R.attr.data;
public class MainActivity extends AppCompatActivity {
TextView gateWay ;
TextView netMask;
TextView serverIp;
EditText gW;
EditText nM;
EditText sIp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gateWay = (TextView) findViewById(R.id.textView);
netMask = (TextView) findViewById(R.id.textView2);
serverIp = (TextView) findViewById(R.id.textView3);
gW = (EditText) findViewById(R.id.editText );
nM = (EditText) findViewById(R.id.editText2);
sIp = (EditText) findViewById(R.id.editText3 );
setValues(dummyValues());
}
public void setValues(HashMap<String,String>data){
gW.setText(data.get("gateway_ip"));
nM.setText(data.get("net_mask"));
sIp.setText(data.get("server_ip"));
}
public HashMap<String,String> dummyValues(){
HashMap<String,String> data = new HashMap<>();
data.put("gateway_ip","162.198.23.10");
data.put("net_mask","178.465.37.34");
data.put("server_ip","243.798.76.59");
return data;
}
}
/ --------- ---------- activity_main.xml中 /
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.puchagmail.ganesh.trail2.MainActivity">
<TextView
android:id="@+id/textView2"
android:layout_width="66dp"
android:layout_height="39dp"
android:text="net_mask"
android:layout_marginLeft="24dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginTop="34dp"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView"
android:layout_width="77dp"
android:layout_height="39dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="96dp"
android:text="gateway_ip"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView3"
android:layout_width="67dp"
android:layout_height="37dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="34dp"
android:text="server_ip"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp"
app:layout_constraintVertical_bias="0.0" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="44dp"
android:layout_marginTop="78dp"
android:ems="10"
android:inputType="textPersonName"
android:text="192.168.85.100"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@+id/textView"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="44dp"
android:layout_marginTop="10dp"
android:ems="10"
android:inputType="textPersonName"
android:text="254.100.34.567"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@+id/textView3"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2"
app:layout_constraintVertical_bias="0.078" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="44dp"
android:layout_marginTop="32dp"
android:ems="10"
android:inputType="textPersonName"
android:text="465.798.86.345"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@+id/textView2"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />
</android.support.constraint.ConstraintLayout>
答案 0 :(得分:0)
你可以使用android双向数据绑定,使用它可以实现以下目的。
1)如果你手动更改hashmap,那么UI会自动更新。 2)如果将在编辑文本中输入任何将在hashmap和UI上更新的内容。
因此您可以使用以下链接了解数据绑定。
https://developer.android.com/topic/libraries/data-binding/index.html