如何在开发eclipse的android应用程序中接受用户的值?
当用户与android应用程序交互时,在按下按钮之前,如何存储用户输入的值? 这是我们编写的代码。请告诉我们如何更正:如何在开发eclipse的android应用程序中接受用户的值?,android,button,Android,Button,当用户与android应用程序交互时,在按下按钮之前,如何存储用户输入的值? 这是我们编写的代码。请告诉我们如何更正: public class configroom extends Activity { public String nroom; @override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public class configroom extends Activity {
public String nroom;
@override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_config_room);
Button nextBtn = (Button) findViewById(R.id.nextbtn1);
nextBtn.setOnClickListener(new View.OnClickListener(){
@override
public void onClick (View v) {
getnumrooms(nroom);
Intent i = new Intent (ConfigRoom.this, ConfigRoom2.class);
i.putExtra("NumOfRooms",nroom);
startActivityForResult(i,0);
}
});
}
void getnumrooms(String nroom) {
EditText numberDisplay = (EditText) findViewById(R.id.numrm1);
nroom = (numberDisplay.getText().toString());
}
@override
public boolean onCreateOptionsMenu (Menu menu) {
getMenuInflater().inflate(R.menu.activity_config_room1,menu);
return true;
}
}
我不确定这是否是你们按下按钮之前的意思,但你们可以使用TextChangedListener 大致上是这样的:
EditText numberDisplay = (EditText) findViewById(R.id.numrm1);
numberDisplay.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
nroom = (s.getText().toString());
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
}
在edittext上应用focuschange listner
txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus)
//do job here owhen Edittext lose focus
}
});
希望它能满足您的需求在android中使用SharedReferences
public class configroom extends Activity {
public String nroom;
SharedPreferences sharedpreferences;
@override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_config_room);
Button nextBtn = (Button) findViewById(R.id.nextbtn1);
getnumrooms();
nextBtn.setOnClickListener(new View.OnClickListener(){
@override
public void onClick (View v) {
String nroom=sharedpreferences.getString("room","");
Intent i = new Intent (ConfigRoom.this, ConfigRoom2.class);
i.putExtra("NumOfRooms",nroom);
startActivityForResult(i,0);
}
});
}
void getnumrooms() {
EditText numberDisplay = (EditText) findViewById(R.id.numrm1);
nroom = (numberDisplay.getText().toString());
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putString("room", nroom);
editor.commit();
}
@override
public boolean onCreateOptionsMenu (Menu menu) {
getMenuInflater().inflate(R.menu.activity_config_room1,menu);
return true;
}
}以下是您的存储选项:调用函数getnumroomsnroom;在EditText组件失去焦点后。