我有一个对话框有点问题。 这是一个带有缩略图的视频列表视图,可以通过适配器加载视频。 ListView注册一个OnItemClickListener,并在OnClickItem方法中尝试引发对话框。当从适配器打开时出现对话框错误+ ListView
我已经尝试过各种类型的对话框,但没有发生任何事情。这是一个简化的代码片段:
public class ListOfVideos extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_of_videos);
init_phone_video_grid();
}
private void init_phone_video_grid() {
// Here's some code for the video reading
// The ListView
videolist = (ListView) findViewById(R.id.PhoneVideoList);
videolist.setAdapter(new VideoAdapter(getApplicationContext()));
videolist.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Here's some code for the video reading
/** ============= Here's the problem ================ **/
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setMessage("Example Message")
.setTitle("This is the title!!")
.setCancelable(false)
.setNeutralButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
System.out.println("[debug]" + "Open File " + filename);
}
});
}
视频列表加载完美。但是,当我点击一个项目:
对话框不显示
我在logcat的一个错误信息,这种状态:“!)节目(Dialog的窗口为空”
println的调试消息,出现在logcat的
...我已经寻找该消息错误不错,但没有太多的信息。
我认为问题可能出现在接收Builder的上下文中,但我坚持这一点。
任何意见将apreciated
尝试获得从活动的,而不是通过查看AlertDialog.Builder语境。即,ListOfVideos.this而不是v.getContext()。 –
地狱呀!那就是诀窍......如果你把它作为答复发布,我会接受它...... :) 非常感谢你 –
酷!谢啦! –