Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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 ListView没有';我不能在我的控制器类Android中工作_Java_Android_Onitemclicklistener - Fatal编程技术网

Java ListView没有';我不能在我的控制器类Android中工作

Java ListView没有';我不能在我的控制器类Android中工作,java,android,onitemclicklistener,Java,Android,Onitemclicklistener,我的应用程序有问题。我已经用视图和控制器实现了mvc设计模式。控制器有OnClickListener方法(4个按钮和一个listview)。问题是,当活动开始时,按钮侦听器会响应,但listview完全是stationnaire,我无法单击,也无法滚动列表 我给你看我的代码。我希望能得到任何帮助。 all_products.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andr

我的应用程序有问题。我已经用视图和控制器实现了mvc设计模式。控制器有OnClickListener方法(4个按钮和一个listview)。问题是,当活动开始时,按钮侦听器会响应,但listview完全是stationnaire,我无法单击,也无法滚动列表
我给你看我的代码。我希望能得到任何帮助。

all_products.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/myLayout">

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="389dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true">

</ListView>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="Mapa" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/button1"
    android:text="Lista" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/button2"
    android:text="Buscador" />

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@+id/button3"
    android:text="Más" />
}

控制器

public class MyController extends RelativeLayout{

 public MyController(Activity activity, 
      final MyModel myModel, final MyView myView) {
super(activity, null);
LayoutInflater layoutInflater = 
          (LayoutInflater)activity.getSystemService   
                  (Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.all_products, this);

final Button button0 = (Button) view.findViewById(R.id.button1);
button0.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton0", "Boton0");

    }
});

final Button button1 = (Button) view.findViewById(R.id.button2);
button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton1", "Boton1");

    }
 }); 

final Button button2 = (Button) view.findViewById(R.id.button3);
button2.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton2", "Boton2");

    }
}); 

final Button button3 = (Button) view.findViewById(R.id.button4);
button3.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton3", "Boton3");

    }
}); 

ListView list = (ListView) view.findViewById(android.R.id.list);
list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, 
            View view, int position, long id) {
        Log.d("Pulsando en lista", "Pulsando en lista");
    }
});
公共类MyController扩展了RelativeLayout{
公共MyController(活动,
最终MyModel MyModel,最终MyView MyView){
super(活动,空);
LayoutInflater LayoutInflater=
(LayoutFlater)activity.getSystemService
(上下文、布局、充气机和服务);
视图=布局更平坦。充气(R.layout.all_products,this);
final Button button0=(Button)view.findViewById(R.id.button1);
button0.setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
Log.d(“Boton0”、“Boton0”);
}
});
最终按钮button1=(按钮)视图.findViewById(R.id.button2);
button1.setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
Log.d(“Boton1”、“Boton1”);
}
}); 
final Button button2=(Button)view.findViewById(R.id.button3);
button2.setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
Log.d(“Boton2”、“Boton2”);
}
}); 
final Button button3=(Button)view.findViewById(R.id.button4);
button3.setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
日志d(“Boton3”、“Boton3”);
}
}); 
ListView list=(ListView)view.findViewById(android.R.id.list);
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0,
视图、整型位置、长id){
Log.d(“普尔桑多电力公司”、“普尔桑多电力公司”);
}
});

为什么要这样做?为了实现mvc设计模式。我知道还有其他方法可以做到这一点,但我必须与控制器有关。不是为了堆积更多,但你可以将某个活动想象为控制器。实际上,你是在从视图中制作控制器,这对我来说是一种倒退。
public class MyController extends RelativeLayout{

 public MyController(Activity activity, 
      final MyModel myModel, final MyView myView) {
super(activity, null);
LayoutInflater layoutInflater = 
          (LayoutInflater)activity.getSystemService   
                  (Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.all_products, this);

final Button button0 = (Button) view.findViewById(R.id.button1);
button0.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton0", "Boton0");

    }
});

final Button button1 = (Button) view.findViewById(R.id.button2);
button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton1", "Boton1");

    }
 }); 

final Button button2 = (Button) view.findViewById(R.id.button3);
button2.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton2", "Boton2");

    }
}); 

final Button button3 = (Button) view.findViewById(R.id.button4);
button3.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        Log.d("Boton3", "Boton3");

    }
}); 

ListView list = (ListView) view.findViewById(android.R.id.list);
list.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, 
            View view, int position, long id) {
        Log.d("Pulsando en lista", "Pulsando en lista");
    }
});