2012-11-26 57 views
0

作爲android的新手,我遇到了一些問題。目前我正試圖在我正在嘗試開發的應用中使用片段。我試圖模擬從作爲片段內佈局的一部分出現的EditText視圖中移動數據。嘗試在onCreateView回調中的片段中移動數據

佈局包含一些其他視圖,其中一個是空的TextView和一個也是佈局一部分的按鈕。我已經通過編程實現了片段onCreateView內的按鈕。代碼片段如下。

我想要做的就是捕獲我輸入到EditText視圖並將其加載到EditText類型的變量中,然後在按鈕被單擊後將其加載到空的TextView中。我最初嘗試模擬從數據庫檢索這些數據來顯示它。同樣,這裏是代碼:當我檢查resName值,並發現它的空,其中拋出一個空指針異常,當我移動到下一行

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

     // Inflate the layout for this fragment and assign it to a view 
     View view = inflater.inflate(R.layout.care_meeting, container, false); 

     Button button = (Button) view.findViewById(R.id.MtgButton); 
     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       resName = (EditText) v.findViewById(R.id.resNameEditText); 
       trsName = resName.getText().toString(); 
       TextView text = (TextView) v.findViewById(R.id.trNameView); 
       text.setText(trsName); 
      } 
     }); 

     return view; 
    } 

出現問題。我試圖理解爲什麼我輸入的內容沒有被變量拾取。另外,我嘗試使用getText()方法,該方法引入了一個完全不同的問題,涉及到一個強制異常。所以我放棄了這一點,並堅持這一點。

我試圖找到其他人可能遇到過這個問題,但我畫了一個空白。我究竟做錯了什麼?請給我你的見解,以幫助我解決這個問題。

由於提前,

道格

回答

0

我找到了解決辦法:我應該使用getView()方法:

resName = (EditText) getView().findViewById(R.id.resNameEditText); 
trsName = resName.getText().toString(); 
TextView text = (TextView) getView().findViewById(R.id.trNameView); 
text.setText(trsName); 

變化工作得很好。

相關問題