Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android中监听器内的监听器按钮_Java_Android_Android Layout_Android Arrayadapter - Fatal编程技术网

Java Android中监听器内的监听器按钮

Java Android中监听器内的监听器按钮,java,android,android-layout,android-arrayadapter,Java,Android,Android Layout,Android Arrayadapter,我有以下代码。。。这个列表基本上是“监听”要点击的项目,一旦点击,它就会打开一个对话框,里面有一个按钮。 我不能让按钮听。。。即使我这样做了…应用程序也会崩溃。 eclipse并没有自动允许我“超越”onClick() WeatherAdapter=新的WeatherAdapter(此,R.layout.listview\u标题行,weather\u数据); listView1=(ListView)FindView wByd(R.id.listView1); 视图标题=(视图)GetLayout

我有以下代码。。。这个列表基本上是“监听”要点击的项目,一旦点击,它就会打开一个对话框,里面有一个按钮。 我不能让按钮听。。。即使我这样做了…应用程序也会崩溃。 eclipse并没有自动允许我“超越”onClick()

WeatherAdapter=新的WeatherAdapter(此,R.layout.listview\u标题行,weather\u数据);
listView1=(ListView)FindView wByd(R.id.listView1);
视图标题=(视图)GetLayoutFlater()。充气(R.layout.listview\u header\u行,空);
//listView1.addHeaderView(标题);
listView1.setAdapter(适配器);
listView1.setClickable(真);
listView1.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图arg0、视图arg1、内部位置、长arg3){
Dialog Dialog=新建对话框(Activity2.this);
setContentView(R.layout.dialogxml);
对话框。可设置可取消(true);
ImageView dcover=(ImageView)dialog.findViewById(R.id.dimageView1);
TextView dtitle=(TextView)dialog.findViewById(R.id.dtextView1);
TextView-dyear=(TextView)dialog.findViewById(R.id.dtextView2);
TextView ddirector=(TextView)dialog.findViewById(R.id.dtextView3);
TextView拖动=(TextView)dialog.findViewById(R.id.dtextView4);
TextView len1=(TextView)dialog.findViewById(R.id.textView77);
按钮postbutton=(按钮)findViewById(R.id.buttonfb);
输入流为;
试一试{
is=(InputStream)新URL(完整的[position][0])。getContent();
Drawable dd=Drawable.createFromStream(是“src名称”);
数据覆盖设置图像可绘制(dd);
}捕获(格式错误){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
dtitle.setText(“名称:“+完整数据[位置][1]);
dyear.setText(“年份:+完整数据[位置][2]);
ddirector.setText(“董事:“+full_data[position][4]);
drating.setText(“评级:+完整数据[位置][3]+”/10”);
dialog.show();
//无法执行此操作!!postbutton.setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});
}
捕获到错误

按钮postbutton=(按钮)findViewById(R.id.buttonfb);应为


按钮postbutton=(Button)dialog.findViewById(R.id.buttonfb);如果按钮在对话框中。

-我认为
postbutton
对话框中,如果是这样的话,您需要通过以下方式找到它的
id


Button postbutton=(Button)对话框。findViewById(R.id.buttonfb);

用此替换您的代码

因为您的按钮位于对话框内,所以您需要使用对话框视图
findviewbyid

WeatherAdapter adapter = new WeatherAdapter(this,R.layout.listview_header_row, weather_data);
        listView1 = (ListView)findViewById(R.id.listView1);
        View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row, null);
        //listView1.addHeaderView(header);
        listView1.setAdapter(adapter);  
        listView1.setClickable(true);
        listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

                Dialog  dialog = new Dialog (Activity2.this);
                dialog.setContentView(R.layout.dialogxml);
                dialog.setCancelable(true);
                ImageView dcover=(ImageView) dialog.findViewById(R.id.dimageView1);
                TextView dtitle = (TextView) dialog.findViewById(R.id.dtextView1);
                TextView dyear = (TextView) dialog.findViewById(R.id.dtextView2);
                TextView ddirector = (TextView) dialog.findViewById(R.id.dtextView3);
                TextView drating = (TextView) dialog.findViewById(R.id.dtextView4);
                TextView len1 = (TextView) dialog.findViewById(R.id.textView77);
                Button postbutton=(Button) dialog.findViewById(R.id.buttonfb);

                InputStream is;
                try {
                    is = (InputStream) new URL(full_data[position][0]).getContent();
                    Drawable dd = Drawable.createFromStream(is, "src name");
                    dcover.setImageDrawable(dd);
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


                dtitle.setText("Name: "+full_data[position][1]);
                dyear.setText("Year: "+full_data[position][2]);
                ddirector.setText("Director: "+full_data[position][4]);
                drating.setText("Rating: "+full_data[position][3]+"/10");
                dialog.show();
            postbutton.setOnClickListener(new View.OnClickListener() { 
                    @Override
                    public void onClick(View v) {

                    }
                  });


          }
WeatherAdapter=新的WeatherAdapter(此,R.layout.listview\u标题行,weather\u数据);
listView1=(ListView)findViewById(R.id.listView1);
视图标题=(视图)GetLayoutFlater()。充气(R.layout.listview\u header\u行,空);
//listView1.addHeaderView(标题);
listView1.setAdapter(适配器);
listView1.setClickable(真);
listView1.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图arg0、视图arg1、内部位置、长arg3){
Dialog Dialog=新建对话框(Activity2.this);
setContentView(R.layout.dialogxml);
对话框。可设置可取消(true);
ImageView dcover=(ImageView)dialog.findViewById(R.id.dimageView1);
TextView dtitle=(TextView)dialog.findViewById(R.id.dtextView1);
TextView-dyear=(TextView)dialog.findViewById(R.id.dtextView2);
TextView ddirector=(TextView)dialog.findViewById(R.id.dtextView3);
TextView拖动=(TextView)dialog.findViewById(R.id.dtextView4);
TextView len1=(TextView)dialog.findViewById(R.id.textView77);
按钮postbutton=(按钮)dialog.findViewById(R.id.buttonfb);
输入流为;
试一试{
is=(InputStream)新URL(完整的[position][0])。getContent();
Drawable dd=Drawable.createFromStream(是“src名称”);
数据覆盖设置图像可绘制(dd);
}捕获(格式错误){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
dtitle.setText(“名称:“+完整数据[位置][1]);
dyear.setText(“年份:+完整数据[位置][2]);
ddirector.setText(“董事:“+full_data[position][4]);
drating.setText(“评级:+完整数据[位置][3]+”/10”);
dialog.show();
postbutton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});
}
WeatherAdapter adapter = new WeatherAdapter(this,R.layout.listview_header_row, weather_data);
        listView1 = (ListView)findViewById(R.id.listView1);
        View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row, null);
        //listView1.addHeaderView(header);
        listView1.setAdapter(adapter);  
        listView1.setClickable(true);
        listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {

          @Override
          public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

                Dialog  dialog = new Dialog (Activity2.this);
                dialog.setContentView(R.layout.dialogxml);
                dialog.setCancelable(true);
                ImageView dcover=(ImageView) dialog.findViewById(R.id.dimageView1);
                TextView dtitle = (TextView) dialog.findViewById(R.id.dtextView1);
                TextView dyear = (TextView) dialog.findViewById(R.id.dtextView2);
                TextView ddirector = (TextView) dialog.findViewById(R.id.dtextView3);
                TextView drating = (TextView) dialog.findViewById(R.id.dtextView4);
                TextView len1 = (TextView) dialog.findViewById(R.id.textView77);
                Button postbutton=(Button) dialog.findViewById(R.id.buttonfb);

                InputStream is;
                try {
                    is = (InputStream) new URL(full_data[position][0]).getContent();
                    Drawable dd = Drawable.createFromStream(is, "src name");
                    dcover.setImageDrawable(dd);
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


                dtitle.setText("Name: "+full_data[position][1]);
                dyear.setText("Year: "+full_data[position][2]);
                ddirector.setText("Director: "+full_data[position][4]);
                drating.setText("Rating: "+full_data[position][3]+"/10");
                dialog.show();
            postbutton.setOnClickListener(new View.OnClickListener() { 
                    @Override
                    public void onClick(View v) {

                    }
                  });


          }