передача ввода EditText из макета в Activity для ввода базы данных onClick в Android

у меня есть несколько входов EditText в моем макете,

<EditText
        android:id="@+id/sign_up_user_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/user_name"
        android:inputType="textPersonName"
        android:singleLine="true" >

        <requestFocus />
    </EditText>

    <EditText...

я хочу передать пользовательский ввод в действие, и после onClick пользовательский ввод передается в базу данных (я использую parse.com).

public class SignUp extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            setContentView(R.layout.sign_up);
    }
    public void onClickSignUp(View view) {

        ParseUser user = new ParseUser();
        user.setUsername("document.getElementById('sign_up_user_name').value");
        user.setPassword("document.getElementById('sign_up_password').value");
        user.setEmail("document.getElementById('sign_up_email_address').value");
        user.put("gender", "document.getElementById('sign_up_select_gender').checked");
        ParseACL defaultACL = new ParseACL();
        defaultACL.setPublicReadAccess(true);
        ParseACL.setDefaultACL(defaultACL, true);

        user.signUpInBackground(new SignUpCallback() {
              public void done(ParseException e) {
                if (e == null) {...

я следовал нескольким руководствам (в том числе на parse.com для регистрации пользователей, где они просто используют статическую строку для информации о пользователе). я знаю, что мне не хватает какого-то элемента передачи ввода EditText в мою деятельность и, возможно, даже синтаксических ошибок в

user.setUsername("document.getElementById('sign_up_user_name').value");

любая помощь будет горячей. благодарю вас.


person dave taddeo    schedule 09.08.2012    source источник


Ответы (2)


Не так много информации, которую вы предоставили. Если я правильно прочитал вышеизложенное, у вас есть WebView, где пользователь вводит информацию. И когда эта информация введена, вы хотите зафиксировать ее на собственной стороне Android.

Если это так, вам нужно использовать мост Java/Javascript. В классе моста, который вы будете реализовывать, вы будете выполнять добавление и размещение ParseUser и другие связанные с ними действия.

См. метод addJavascriptInterface по адресу http://developer.android.com/reference/android/webkit/WebView.html. Также выполните поиск здесь, в Stackoverflow или в Google; есть много примеров.

Исполнительный директор

person CEO    schedule 17.09.2012

Чтобы получить текст из EditText, попробуйте следующее:

EditText et = (EditText) findViewById(R.id.sign_up_user_name);
String s = et.getText();
person Joe    schedule 05.12.2013