2012-03-01 25 views
0

我試圖在當地一個EditText文本保存到一個字符串變量我已經在其他類中創建一個PopupWindow內,像這樣:的Android節能的EditText文本在PopupWindow類成員串

我有一個addEvent_Click方法這顯示PopupWindow:

public void addEvent_Click(View view) 
{ 
    LayoutInflater inflater = (LayoutInflater) WhatsNewActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    eventPopup = new PopupWindow(inflater.inflate(R.layout.eventpopup, null, true), 480, 700, true); 

    eventPopup.showAtLocation(findViewById(R.id.whatsNew_Main), Gravity.CENTER_VERTICAL, 0, 0); 
} 

現在我想通過保存按鈕按本地保存我的所有文本字段的事件類的PopupWindow像這樣:

public void btnSaveEvent_Click(View view) 
{ 
    final EditText nameEditText = (EditText) findViewById(R.id.nameEditText); 
    final EditText timeEditText = (EditText) findViewById(R.id.timeEditText); 
    final EditText locEditText = (EditText) findViewById(R.id.locEditText); 
    final EditText sDateEditText = (EditText) findViewById(R.id.sDateExitText); 
    final EditText eDateEditText = (EditText) findViewById(R.id.eDateEditText); 
    final EditText catEditText = (EditText) findViewById(R.id.catEditText); 

    Event newEvent = new Event(); 

    newEvent.eventName = nameEditText.getText().toString(); 
    newEvent.time = timeEditText.getText().toString(); 
    newEvent.location = locEditText.getText().toString(); 
    newEvent.startDate = sDateEditText.getText().toString(); 
    newEvent.endDate = eDateEditText.getText().toString(); 
    newEvent.category = catEditText.getText().toString(); 


    eventPopup.dismiss(); 
} 

我的問題是,當我調試或運行代碼,並嘗試執行行:

 final EditText nameEditText = (EditText) findViewById(R.id.nameEditText); 

我的程序崩潰拋出IllegalStateException錯誤:無法執行活動的方法

任何投入,將不勝感激, 提前致謝。

回答

0

嘗試將nameEditText從final更改爲private。

試試這個:

private EditText nameEditText = (EditText) findViewById(R.id.nameEditText);