我想从对话框函数中获取一个简单的String到变量“name”中。 第一个AS告诉我:“变量'名称'是从内部类中访问的,需要声明为final”。如果我做到最后它告诉我最终值不能改变。我已经找到了一些类似的问题和教程,但他们只是用吐司或其他方式显示用户输入。我需要那里的价值。这可能是基本的,但目前我无法进一步......
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
TextView eventNameETMain = (TextView) findViewById(R.id.hello_world);
String name;
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
View adView = getLayoutInflater().inflate(R.layout.dialog_new_event, null);
AlertDialog.Builder eventNameAB = new AlertDialog.Builder(Main.this);
eventNameAB.setView(adView);
final EditText eventNameET = (EditText)adView.findViewById(R.id.eventNameET);
eventNameAB.setCancelable(true).setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
name = eventNameET.getText().toString();
}
});
AlertDialog dialog = eventNameAB.create();
dialog.show();
}
});
}
答案 0 :(得分:0)
最简单的方法是声明类级变量,如下所示:
class MyActivity extends Activity {
private String mName = null;
然后再
mName = eventNameET.getText().toString();
然后在您需要的任何地方访问变量。