0

我有一个显示列表视图的应用程序。我打算这样做,以便当用户单击列表视图项时,会出现一个显示 XML 布局的对话框。但我只是有一个小问题。

我已经启动并运行了列表视图,并且正在工作。这是 onclick 监听器的活动类中的代码。

 final ListView lv1 = (ListView) findViewById(R.id.listV_main);
        lv1.setAdapter(new ItemListBaseAdapter(this, image_details));

        lv1.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
                Object o = lv1.getItemAtPosition(position);
                ItemDetails obj_itemDetails = (ItemDetails)o;
                Toast.makeText(VanillaBlockList.this, "Loading details for: " + " " + obj_itemDetails.getName(), Toast.LENGTH_LONG).show();

                if(obj_itemDetails.getPrice().equals("ID - 1")){

                    // custom dialog
                    final Dialog dialog = new Dialog(Context);
                    dialog.setContentView(R.layout.va_type1);
                    dialog.setTitle("Information");

                    dialog.show();

                }

                if(obj_itemDetails.getPrice().equals("ID - 2")){
              /* Stuff here*/ }
            } 

        });
    } 

问题是上面代码的这一部分:

if(obj_itemDetails.getPrice().equals("ID - 1")){

                    // custom dialog
                    final Dialog dialog = new Dialog(Context);
                    dialog.setContentView(R.layout.va_type1);
                    dialog.setTitle("Stone");

                    dialog.show();

                }

创建新对话框的行给了我一个错误。在 Eclipse 中,“new Dialog(Context)”的“Context”部分带有红色下划线,表示错误。

有谁知道如何解决这一问题?

谢谢

4

3 回答 3

2

你能告诉我们错误是什么,而不仅仅是它在哪里吗?

除了非常基础的内容外,我还没有过多地使用 Context 或 Dialog,但尝试传入一个 Context 对象,而不仅仅是类。在 onActivityCreate 方法中,调用

Context c = this;

进而

final Dialog dialog = new Dialog(c);
于 2012-09-01T14:23:14.557 回答
0

您只能将对象传递给方法/构造函数。“上下文”不是一个对象。代替 new Dialog(Context) 尝试 getApplicationContext() 或 getActivityContext():

final Dialog dialog = new Dialog(getApplicationContext());
于 2012-09-01T14:11:48.073 回答
0

最终对话框对话框 = 新对话框(上下文);可能是使用 Context.You 使用您的活动 name.this 或 getApplicationContext() 的问题。

于 2012-09-01T14:17:41.670 回答