Fixed dialog rotation

This commit is contained in:
Ziver Koc 2014-08-04 16:18:59 +02:00
parent bb45d90fae
commit a67a80e168
2 changed files with 19 additions and 5 deletions

View file

@ -84,10 +84,11 @@ public class EditActivity extends ListActivity implements AdapterView.OnItemClic
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
UeBehaviour behaviour = executor.getBehaviourList().get(i);
Configurator confer = new Configurator(behaviour);
Bundle bundle = new Bundle();
bundle.putInt("object_index", i);
ConfigureDialog dialog = new ConfigureDialog();
dialog.setConfigurator(confer);
dialog.setArguments(bundle);
dialog.show(getFragmentManager(), "behaviour_configurator");
}

View file

@ -11,6 +11,8 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.ericsson.uecontrol.R;
import com.ericsson.uecontrol.core.UeBehaviour;
import com.ericsson.uecontrol.gui.MainActivity;
import com.ericsson.uecontrol.gui.util.Configurator;
import com.ericsson.uecontrol.gui.util.Configurator.ConfigurationParam;
@ -39,6 +41,8 @@ public class ConfigureDialog extends DialogFragment {
int padding = getResources().getDimensionPixelSize(R.dimen.standard_padding);
root.setPadding(padding, padding, padding, padding);
UeBehaviour behaviour = MainActivity.getExecutor().getBehaviourList().get(this.getArguments().getInt("object_index"));
confer = new Configurator(behaviour);
for(ConfigurationParam confParam : confer.getConfiguration()){
LinearLayout layout = new LinearLayout(getActivity());
layout.setOrientation(LinearLayout.HORIZONTAL);
@ -57,8 +61,13 @@ public class ConfigureDialog extends DialogFragment {
input.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
input.setText(confParam.getString(), TextView.BufferType.EDITABLE);
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
// Set previous value
if(savedInstanceState != null && savedInstanceState.containsKey(confParam.getName()))
input.setText(savedInstanceState.getString(confParam.getName()), TextView.BufferType.EDITABLE);
else
input.setText(confParam.getString(), TextView.BufferType.EDITABLE);
// store inputs for later use
inputs.put(confParam.getName(), input);
layout.addView(input);
@ -84,7 +93,11 @@ public class ConfigureDialog extends DialogFragment {
return builder.create();
}
public void setConfigurator(Configurator c) {
confer = c;
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
for(String key : inputs.keySet()){
outState.putString(key, inputs.get(key).getText().toString());
}
}
}