开发者

how to set a text to a Edittext which is in a dialog box?

The question is as you can see that I cant set the value of edittext dynamically before showDialog().

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
 import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;


public cla开发者_如何学编程ss MainActivity extends Activity {
private static final int DIALOG_TEXT_ENTRY = 7;

private int user_id;
private int dialogChoice;
private String mobileNum;
private EditText input2 ;
private EditText input1 ;
public TextView textView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.alert_dialog_text_entry);
    TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
     mobileNum =tm.getLine1Number();
    // input1.setText(mobileNum);   
     textView.setText("hello");
    showDialog(DIALOG_TEXT_ENTRY);

}
@Override
 protected Dialog onCreateDialog(int i) {


    switch (i) {

    case DIALOG_TEXT_ENTRY:
            LayoutInflater factory = LayoutInflater.from(this);
            final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
            input2 = (EditText) textEntryView.findViewById(R.id.number_edit);
            input1 = (EditText) textEntryView.findViewById(R.id.username_edit);
            textView = (TextView) textEntryView.findViewById(R.id.username_view);
            return new AlertDialog.Builder(MainActivity.this)
               // .setIconAttribute(android.R.attr.accountType)
                .setTitle(R.string.alert_dialog_text_entry)
                .setView(textEntryView)
                .setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                          Intent i = new Intent(MainActivity.this, IccActivity.class);
                          startActivity(i);
                        /* User clicked OK so do some stuff */
                    }
                })
                .setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {

                        /* User clicked cancel so do some stuff */
                    }
                })
                .create();
    }
    return null;
 }

}

textView.setText("hello"); this line kills the app.

thanks in advance.


you should put this line textView.setText("hello"); into onCreateDialog() method as you are setting the value before it gets initialized.


You haven't initialized textView. You need this in your onCreate() before you do the textView.setText()

textView = (TextView) textEntryView.findViewById(R.id.username_view);


I guess you are getting NullPointerException? You should first ser your 'textView' field.


Find the TexView text that is in the dialog and set the text of the TextView Try this link

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜