Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android對話框裡面的輸入值獲取不到,空指針異常

Android對話框裡面的輸入值獲取不到,空指針異常

編輯:關於Android編程

寫的一個Android對話框,點擊按鈕獲取EditText裡面的值,這裡一直報空指針異常,研究了很長時間終於解決了。

異常如下:

\

我原來的代碼:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">//更新對話框 private void updateDialog(final String id){ TableLayout updatemsg = (TableLayout)getLayoutInflater().inflate(R.layout.updatemsg, null); new AlertDialog.Builder(this) .setTitle("更新該條信息") .setView(updatemsg) .setPositiveButton("更新",new OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub String musicN = ((EditText)findViewById(R.id.musicN)).getText().toString(); String singerN = ((EditText)findViewById(R.id.singerN)).getText().toString(); updateData(db,id,musicN,singerN); } }) .setNegativeButton("取消", new OnClickListener(){ public void onClick(DialogInterface dialog,int which){ } }) .create() .show(); }

對話框中引入了另一個xml配置文件updatemsg.xml:



    
        
        
    
    
        
        
    

,

問題解決

出錯原因就是這個引入的xml

在通過findViewById找EditText的時候,它是從原來的布局文件裡面找的,而不是對話框的布局文件,所以當然要報空指針異常

怎樣讓才能找到對話框的布局文件呢?

把那兩句改成;

String musicN = ((EditText)updatemsg.findViewById(R.id.musicN)).getText().toString();
String singerN = ((EditText)updatemsg.findViewById(R.id.singerN)).getText().toString();

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved