Java ListView没有';我不能在我的控制器类Android中工作
我的应用程序有问题。我已经用视图和控制器实现了mvc设计模式。控制器有OnClickListener方法(4个按钮和一个listview)。问题是,当活动开始时,按钮侦听器会响应,但listview完全是stationnaire,我无法单击,也无法滚动列表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
我给你看我的代码。我希望能得到任何帮助。
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");
}
});