Java 如何在StackView中实现onClickListner
我希望在我的stackView中添加一个onclickListner,以便它呈现另一个片段 这些片段将是一个包含textView和imageView的简单页面。 将有10多个片段,每个片段对应StackView中的一个条目 stackView是一个片段,因此它可能类似于从另一个片段调用一个片段 我的代码是: Stack_Adapter.javaJava 如何在StackView中实现onClickListner,java,android,android-fragments,Java,Android,Android Fragments,我希望在我的stackView中添加一个onclickListner,以便它呈现另一个片段 这些片段将是一个包含textView和imageView的简单页面。 将有10多个片段,每个片段对应StackView中的一个条目 stackView是一个片段,因此它可能类似于从另一个片段调用一个片段 我的代码是: Stack_Adapter.java public class Stack_Adapter extends BaseAdapter { ArrayList<Stack_Items&g
public class Stack_Adapter extends BaseAdapter {
ArrayList<Stack_Items> arrayList;
LayoutInflater inflater;
ViewHolder holder = null;
public Stack_Adapter(Context context, ArrayList<Stack_Items> arrayList) {
this.arrayList = arrayList;
this.inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public Stack_Items getItem(int pos) {
return arrayList.get(pos);
}
@Override
public long getItemId(int pos) {
return pos;
}
@Override
public View getView(int pos, View view, ViewGroup parent) {
if (view == null) {
view = inflater.inflate(R.layout.stack_layout, parent, false);
holder = new ViewHolder();
holder.text = (TextView) view.findViewById(R.id.textView1);
holder.image = (ImageView) view.findViewById(R.id.imageView1);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.text.setText(arrayList.get(pos).getName());
holder.image.setBackgroundResource(arrayList.get(pos).getImage());
return view;
}
public class ViewHolder {
TextView text;
ImageView image;
} }
事件\u布局
<StackView
android:id="@+id/stackView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:animateLayoutChanges="true" >
</StackView>
<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_below="@+id/imageView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:textColor="#FFFFFF" />
堆栈布局
<StackView
android:id="@+id/stackView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:animateLayoutChanges="true" >
</StackView>
<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_below="@+id/imageView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
android:textColor="#FFFFFF" />
因为有这么多的页面&都很相似,所以我想通过在strings.xml中链接东西来找到一个简单的替代方法,比如链接堆栈和all
编辑-1
更新的EventsFragments.java
StackView
间接继承自,这意味着您可以在其上使用,就像您在ListView中使用更新的EventsFragments.java一样,请查看。stackView.getSelectedItemPosition()始终返回0,那么解决方法是什么。使用位置说明有没有任何方法可以减少创建大量碎片页面,包括它们的布局以及.java文件(更动态的文件),在页面上以字符串数组形式查找信息,因为页面上只有一个textView和一个ImageView,所以您可以始终创建一个相同片段的实例,提供您想要在捆绑包中设置的信息。您可以详细说明,或者在代码中添加一些解释吗?