2 annbnncnnd AnnBnnCnnD 于 2013.02.18 11:25 提问

更新 AlertDialog的 TextView结果

每次在对话框中设置textView的结果,应用会崩溃。对话框是通过链接包含textView的xml,并且这个textView就是需要更新的。

AlertDialog.Builder alert = new AlertDialog.Builder(this); 
    LayoutInflater factory = LayoutInflater.from(this);        
    resultOne=(TextView)findViewById(R.id.resultOne); //resultone is a textview in xml dialog

    resultOne.setText("hello");  //this code is making the app close

    final View textEntryView = factory.inflate(R.layout.dialog, null);
    alert.setView(textEntryView);
    alert.show();

2个回答

LPPloveROU
LPPloveROU   2013.02.18 13:05
已采纳

改变一下顺序可以访问View的子view,可能要用到textEntryView查询id

LayoutInflater factory = LayoutInflater.from(this);        
final View textEntryView = factory.inflate(R.layout.dialog, null);

resultOne=(TextView)textEntryView.findViewById(R.id.resultOne); //resultone is a textview in xml dialog

resultOne.setText("hello");
alert.setView(textEntryView);

alert.show();
oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.07.27 21:47

调用顺序有问题,应该是调用

final View textEntryView = factory.inflate(R.layout.dialog, null);

resultOne=(TextView)textEntryView.findViewById(R.id.resultOne); //resultone is a textview in xml dialog

再去调用alert.setView(textEntryView);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!