- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
Tôi đang sử dụng View Pager trong dự án ListView của mình. Tôi muốn hiển thị hình ảnh trong trình xem trang nhưng tính năng tải chậm không hoạt động với nó. Xin hãy cho tôi giải pháp. Tôi đã thử nhiều tệp tải chậm nhưng một số tệp vẫn hoạt động. Một số người giữ giao diện người dùng.
Mã tôi có hiện tại hoạt động tốt, nhưng nó không hiển thị hình ảnh ở lần đầu tiên. Tôi phải cuộn ListView xuống, sau đó cuộn lên lại thì nó mới hiển thị. Tôi không biết vấn đề là gì, vui lòng cho tôi giải pháp tôi cần phải làm gì?
Tôi đang đăng mã bộ điều hợp của mình:-
Đây là mã getview của tôi:
công khai View getView(final int position, View convertView, ViewGroup parent) {
Xem v = convertView;
nếu (v == null) {
LayoutInflater mInflater = (LayoutInflater) objProp.activity
.getApplicationContext().getSystemService(
Bối cảnh.LAYOUT_INFLATER_SERVICE);
v = mInflater.inflate(R.layout.adapter_walllayout, null);
}
// Nhận điều khiển
viewHolder cuối cùng vh = viewHolder mới();
vh.txtview_Question = (Lượt xem văn bản) v.findViewById(R.id.textView1);
vh.textview_CommentCount = (Lượt xem văn bản) v
.findViewById(R.id.textVew_WallTotalComments);
vh.textview_LikeCount = (Lượt xem văn bản) v
.findViewById(R.id.textVew_WallTotalokay);
vh.ViewPager_Images = (ViewPager) v.findViewById(R.id.pager);
vh.imageview_Profile = (ImageView) v
.findViewById(R.id.imageview_userImage);
vh.textview_PostDate = (Lượt xem văn bản) v
.findViewById(R.id.textView_PostDate);
vh.textview_UserName = (Lượt xem văn bản) v
.findViewById(R.id.textVew_WallUserName);
// Điều khiển SetDatato
// Đặt dữ liệu
vh.txtview_Câu hỏi
.setText(objProp.wallDataList.get(vị trí).wallPost_Name);
vh.txtview_Question.setTypeface(fontsFamily.getFont(
objProp.activity.getApplicationContext(), đúng));
vh.textview_Tên người dùng
.setText(objProp.wallDataList.get(vị trí).wallPost_User_Name);
vh.textview_UserName.setTypeface(fontsFamily.getFont(
objProp.activity.getApplicationContext(), đúng));
các trang Vector cuối cùng = Vector mới();
objProp.activity.runOnUiThread(mới Runnable() {
@Ghi đè
công khai void run() {
vh.ViewPager_Images.setOffscreenPageLimit(4);
đối với (int i = 0; i < objProp.wallDataList.get(vị trí).wallPost_Images_Data
.kích thước(); i++) {
int imagePosion cuối cùng = i;
LayoutInflater mInflaterImage = (LayoutInflater) objProp.activity
.getApplicationContext().getSystemService(
Bối cảnh.LAYOUT_INFLATER_SERVICE);
Xem vImage = mInflaterImage.inflate(
R.layout.wallimagepageradaper, null);
ImageView imageView = (ImageView) vImage
.findViewById(R.id.imageView1);
imageView.setTag(objProp.wallDataList.get(vị trí).wallPost_Images_Data
.get(i).qst_Wall_Image);
CheckBox chk = (CheckBox) vImage
.findViewById(R.id.checkBox1);
/*
* loadLooksImages.fetchDrawableOnThread(objProp.wallDataList
* .get(vị trí).wallPost_Images_Data
* .get(i).qst_Wall_Image, imageView);
*/
imageLoader_RelativeLayout. Hiển thị hình ảnh(
objProp.wallDataList.get(vị trí).wallPost_Images_Data
.get(i).qst_Wall_Image, imageView);
/*imageLoader_RelativeLayout. Hiển thị hình ảnh(
objProp.wallDataList.get(vị trí).wallPost_Images_Data
.get(i).qst_Wall_Image, imageView);
*/
// Nhận điều khiển
vh.percentageLayout = (RelativeLayout) vImage
.findViewById(R.id.layoutPercent);
vh.percentageLayout.setVisibility(View.GONE);
vh.percentageLayout.setId(objProp.wallDataList
.get(vị trí).wallPost_Images_Data
.get(vị trí hình ảnh).qst_Wall_ImageID);
vh.textView_Percentage = (TextView) vImage
.findViewById(R.id.textView_PercentCount);
vh.textView_percentVoteCount = (TextView) vImage
.findViewById(R.id.textView1_PercentVoteCount);
// Đặt dữ liệu
Đôi d = Double.parseDouble(objProp.wallDataList
.get(vị trí).wallPost_Images_Data.get(i).qst_Wall_Image_Percentage);
int val = d.intValue();
vh.textView_Percentage.setText(giá trị + "%");
vh.textView_Percentage.setTypeface(fontsFamily.getFont(
objProp.activity.getApplicationContext(), đúng));
vh.textView_percentVoteCount.setTypeface(fontsFamily
.getFont(objProp.activity.getApplicationContext(),
ĐÚNG VẬY));
vh.textView_percentVoteCount.setText(objProp.wallDataList
.get(vị trí).wallPost_Images_Data.get(i).qst_Wall_Image_LikeCount
+ “Phiếu bầu”);
chk.setOnCheckedChangeListener(mới OnCheckedChangeListener() {
@Ghi đè
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
Dịch vụ mới_LikeImage(objProp.activity)
.execute(objProp.wallDataList.get(vị trí).wallPost_Images_Data
.get(vị trí hình ảnh).qst_Wall_ImageID
+ "");
RelativeLayout nằm = (RelativeLayout) objProp.activity
.findViewById(objProp.wallDataList
.get(vị trí).wallPost_Images_Data
.get(vị trí hình ảnh).qst_Wall_ImageID);
lay.setVisibility(View.VISIBLE);
}
});
// //hệ thống.out.println("OKKKKKK "+i);
trang.add(vImage);
}
}
});
// system.out.println("aaa "+pages.size());
CustomPagerAdapter adap = new CustomPagerAdapter(
objProp.activity.getApplicationContext(), các trang);
vh.ViewPager_Images.setAdapter(adap);
vh.textview_CommentCount.setOnClickListener(mới OnClickListener() {
@Ghi đè
public void onClick(View v) {
Ý định intent = new Intent(objProp.activity, OkayComments.class);
ý định.addFlags(Ý định.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("wallPostPosition", vị trí);
ý định.putExtra("Số hình ảnh", imagePsotioninPager);
objProp.activity.startActivity(ý định);
}
});
vh.textview_LikeCount.setOnClickListener(mới OnClickListener() {
@Ghi đè
public void onClick(View v) {
Ý định intent = new Intent(objProp.activity, Results.class);
ý định.addFlags(Ý định.FLAG_ACTIVITY_NEW_TASK);
ý định.putExtra("qcode",
objProp.wallDataList.get(vị trí).wallPost_ID);
objProp.activity.startActivity(ý định);
}
});
imageLoader. Hiển thị hình ảnh(
objProp.wallDataList.get(vị trí).wallPost_User_Image,
vh.imageview_Profile);
Chuỗi totComments = objProp.wallDataList.get(vị trí).wallPost_Images_Data
.get(0).qst_Wall_Image_CommentCount + "";
vh.textview_CommentCount.setText(totComments + "Bình luận");
vh.textview_CommentCount.setTypeface(fontsFamily.getFont(
objProp.activity.getApplicationContext(), đúng));
vh.textview_Số lượt thích
.setText(objProp.wallDataList.get(vị trí).wallPost_Images_Data
.get(0).qst_Wall_Image_LikeCount + "Được rồi");
vh.textview_LikeCount.setTypeface(fontsFamily.getFont(
objProp.activity.getApplicationContext(), đúng));
trả về v;
}
lớp công khai viewHolder {
Chế độ xem văn bản txtview_Question;
Chế độ xem văn bản textview_CommentCount;
Chế độ xem văn bản textview_LikeCount;
Chế độ xem văn bản textview_UserName;
Chế độ xem văn bản textview_PostDate;
XemPager XemPager_Images;
Chế độ xem hình ảnh imageview_Profile;
Chế độ xem văn bản textView_Percentage;
Chế độ xem văn bản chế độ xem văn bản_phần trăm số phiếu bầu;
RelativeLayout phần trămLayout;
// Hình ảnh trong ViewPager
ImageView imageView_PostImage;
}
1 Câu trả lời
Đầu tiên..Tôi không chắc chắn mức độ nghiêm trọng của vấn đề này vì bạn đang cố sử dụng trình phân trang View làm mục ListView. Không phải là không thể thực hiện được, nhưng có quá nhiều lớp ở đây. Hy vọng bạn sẽ đánh giá cao công sức và nỗ lực bỏ ra cho đoạn mã này và tôi hy vọng điều này sẽ giúp giải quyết vấn đề của bạn.. vì vậy hãy tận hưởng đoạn mã này nhé.. :)
1) Trong trường hợp này có 2 bộ chuyển đổi. Đầu tiên là ListView và thứ hai là ViewPager
2)Hai bộ điều hợp có chức năng và mục danh sách khác nhau.
3)Bạn đang sử dụng một bộ chuyển đổi bên trong một bộ chuyển đổi khác.
4) Sau đó, bạn sử dụng bộ điều hợp cuối cùng để mở rộng ListView và thiết lập bộ điều hợp... :D
Mã như sau:Tôi sẽ thực hiện từng bước một
Bước 1: Tạo một lớp mô hình đơn giản:
lớp công khai ModelClass {
chuỗi riêng tư titleToDisplay;
public ModelClass(String câu hỏi) {
siêu();
this.titleToDisplay = câu hỏi;
}
công khai String getTitleToDisplay() {
trả về titleToDisplay;
}
công khai void setTitleToDisplay(Chuỗi titleToDisplay) {
tiêu đề này để hiển thị = tiêu đề để hiển thị;
}
}
Bước 2: Tạo bộ điều hợp trình phân trang View và đưa nó vào lớp dự án mô hình. Đây là Bộ điều hợp View Pager cơ bản!!
lớp công khai ViewPagerAdapter mở rộng PagerAdapter {
ArrayList mảngModelClasses = new ArrayList();
@SuppressLint("Api mới")
@Ghi đè
công khai void finishUpdate(ViewGroup container) {
// TODO Phương thức tự động tạo stub
super.finishUpdate(container);
}
công khai ViewPagerAdapter() {
siêu();
}
công khai ViewPagerAdapter(ArrayList arrayModelClasses) {
siêu();
this.arrayModelClasses = arrayModelClasses;
}
@Ghi đè
công khai int getCount() {
trả về arrayModelClasses.size();
}
@Ghi đè
public boolean isViewFromObject(Bộ sưu tập View, Đối tượng Object) {
trả về bộ sưu tập == ((Xem) đối tượng);
}
@Ghi đè
public Object instantiateItem(View bộ sưu tập, int vị trí) {
// Bố cục phồng lên
LayoutInflater bộ thổi phồng = (LayoutInflater) bộ sưu tập.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Xem view = inflater.inflate(R.layout.drawer_list_item, null);
Mục TextViewText = (TextView) view.findViewById(R.id.title);
thử {
itemText.setText(mảngModelClasses.get(vị trí)
.getTitleToDisplay());
} catch (Ngoại lệ e1) {
// TODO Khối catch được tạo tự động
e1. printStackTrace();
}
((ViewPager) bộ sưu tập).addView(view, 0);
quay lại xem;
}
@Ghi đè
public void destroyItem(View container, int position, Object đối tượng) {
((ViewPager) container).removeView((View) đối tượng);
}
}
Bước 3: Tạo một bộ điều hợp cho ListView
Để ý:Đây là nơi tôi sử dụng bộ điều hợp trước đó và trong bộ điều hợp này tôi sử dụng trình phân trang View làm mục danh sách.
lớp công khai ListViewPagerAdapter mở rộng ArrayAdapter {
Bộ điều hợp ViewPager mViewPagerAdapter;
riêng tư Bối cảnh bối cảnh;
ArrayList navigationItems riêng tư;
int riêng tư selectedIndex;
public ListViewPagerAdapter(Bối cảnh ngữ cảnh,
ArrayList điều hướngItems) {
siêu(bối cảnh, R.layout.view_pager_list_view, navigationItems);
this.context = ngữ cảnh;
this.navigationItems = navigationItems;
}
@Ghi đè
công khai int getCount() {
trả về navigationItems.size();
}
công khai void setSelectedIndex(int vị trí) {
selectedIndex = vị trí;
thông báoDataSetChanged();
}
@Ghi đè
công khai ModelClass getItem(int vị trí) {
trả về navigationItems.get(vị trí);
}
@Ghi đè
công khai dài getItemId(int vị trí) {
vị trí trở về;
}
@SuppressLint("Api mới")
@Ghi đè
công khai View getView(int position, View convertView, ViewGroup parent) {
nếu (convertView == null) {
LayoutInflater inflater = (LayoutInflater) ngữ cảnh
.getSystemService(Hoạt động.LAYOUT_INFLATER_SERVICE);
convertView = Inflater.Inflate(R.layout.view_pager_list_view, null);
}
ViewPager vp = (ViewPager) convertView.findViewById(R.id.list_pager);
nếu (selectedIndex != -1 && vị trí == selectedIndex) {
vp.setBackground(getContext().getResources().getDrawable(
R.drawable.gradient_selected));
} khác {
vp.setBackground(getContext().getResources().getDrawable(
R. drawable.gradient));
}
mViewPagerAdapter = new ViewPagerAdapter(navigationItems);
vp. setAdapter(mViewPagerAdapter);
trả về convertView;
}
}
Bước 4: Tôi đặt bộ điều hợp cuối cùng ("ListViewPagerAdapter") vào ListView của tôi.
Để ý:Ở đây tôi đang sử dụng bộ chuyển đổi này trong một trong những đoạn mã của mình. Bạn có thể sử dụng nó trên lớp Hoạt động bình thường của mình và nó sẽ hoạt động tốt.
lớp công khai CampaignView mở rộng Fragment {
Danh sáchViewPagerAdapter;
công khai CampaignView() {
}
@Ghi đè
công khai Xem trênCreateView(LayoutInflater inflater, ViewGroup container,
Gói savedInstanceState) {
Xem campaignview = inflater.inflate(R.layout.campaignview, container,
SAI);
trở lại campainview;
}
@Ghi đè
public void onActivityCreated(Gói savedInstanceState) {
// TODO Phương thức tự động tạo stub
super.onActivityCreated(savedInstanceState);
Chuỗi[] s = { "a", "b", "c", "d", "b", "c", "d", "b", "c", "d", "b",
"c", "d", "b", "c", "d", "b", "c", "d" };
ArrayList aList = new ArrayList();
đối với (Chuỗi s1 : s) {
aList.add(ModelClass mới(s1));
}
ListView lv1 = (ListView) getActivity().findViewById(
R.id.campaignListView);
// lv1.setAdapter(mới ArrayAdapter(getActivity(),
// android.R.layout.simple_list_item_1,aList));
listViewPagerAdapter = new ListViewPagerAdapter(getActivity(), aList);
lv1.setAdapter(listViewPagerAdapter);
}
}
Cuối cùng, có rất ít đoạn bố cục cho đoạn mã này.
Đầu tiên: Bản thân ListView:
android:id="@+id/campaignListView"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="wrap_content" >
thứ hai: ViagerLayoutItem (mục hàng):
android:layout_width="phù hợp với cha mẹ"
android:layout_height="phù hợp với cha mẹ"
android:orientation="dọc" >
<>
android:id="@+id/danh_sách_trang"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="400dp"
android:paddingTop="10dp"/>
cuối cùng: Mục danh sách ngăn kéo mục ListView:
android:layout_width="phù hợp với cha mẹ"
android:layout_height="40dp"
android:background="#303030"
android:orientation="dọc" >
android:layout_width="phù hợp với cha mẹ"
android:layout_height="wrap_content"
android:background="#303030"
android:orientation="ngang" >
android:id="@+id/biểu tượng"
android: layout_width="25dp"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:contentDescription="Biểu tượng"
android:src="@drawable/ic_launcher" />
android:id="@+id/tiêu đề"
android:layout_width="phù hợp với cha mẹ"
android:layout_height="wrap_content"
android:layout_gravity="trung tâm"
android:background="@android:color/darker_gray"
android:minHeight="18dp"
android:padding="20dp"
android:paddingRight="40dp"
android:text="trang chủ"
android:textColor="#33b5e5"
android:textSize="20sp"
android:textStyle="đậm" />
Hình ảnh tác phẩm:
Hình ảnh http://imageshack.com/a/img855/109/5w7e.png Hình ảnh http://imageshack.com/a/img849/860/8j5t.png
Nếu bạn có bất kỳ thắc mắc nào về mã này, vui lòng cho tôi biết. Tôi rất vui lòng trả lời.
Hi vọng bạn thích nó và chúc bạn thực hiện thành công. Tôi đã dành vài phút cho đoạn mã này. Hy vọng thông tin này hữu ích với mọi người. Chúc may mắn.. :)
Xem bộ phân trang trong ListView? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/24107433/
Tôi cần có khả năng lật một nhóm hình ảnh theo chiều dọc. Tôi đã thử sử dụng ViewPager nhưng có vẻ như nó chỉ hỗ trợ phân trang theo chiều ngang. Tôi cũng đã tìm trong Thư viện nhưng cũng không thấy cách nào để phân trang theo chiều dọc ở đó. Dù sao đi nữa, nó đã bị loại bỏ để ủng hộ Horizon
Tôi đang sử dụng View được tích hợp trong trình phân trang và tôi muốn có tùy chọn "hiển thị tất cả". Nghĩa là trang thứ 2 trong tổng số 10 trang sẽ được hiển thị. Cách tốt nhất để đạt được điều này là gì? Steve Câu trả lời hay nhất Steven, bạn có thể sao chép màn hình thực tế của mình và sau đó
Khi tôi chỉnh sửa các tệp Markdown bằng vim, tôi có thể tô màu cú pháp đẹp mắt (thông qua các plugin vim-markdown và vim-markdown-preview). Khi tôi xem tập tin bằng cách sử dụng less (pager), tôi
Trong ứng dụng Android của mình, tôi có thể tự động cuộn qua thanh tìm kiếm sau một khoảng thời gian nhất định. Tôi không tìm thấy chỉ báo máy nhắn tin nào hiển thị thời gian còn lại trước khi quá trình cuộn diễn ra. Tôi đã đính kèm ảnh chụp màn hình trang web bên dưới để bạn hiểu rõ hơn về mục tiêu tôi đang hướng tới. Nếu bạn có thể chia sẻ
Bạn có biết cảm giác khi mọi đoạn mã bạn viết đều chạy ngay lập tức và bạn không hoàn thành đúng tiến độ không :-P Cảm giác giống như 'ồ, giờ thì tôi có thời gian để làm cho nó hoàn hảo rồi'. Đây là nơi tôi đang ở hiện tại^^ Vì vậy, tôi đã triển khai một quá trình chuyển đổi bằng JSF (ui:repeat)
Tôi có một danh sách các mục trong ứng dụng Android và tôi muốn mỗi mục nằm trên một trang duy nhất. Vấn đề là mỗi mục thiết lập một bố cục với một chế độ xem hình ảnh tải xuống hình ảnh của mục đó từ một url duy nhất. Liệu điều này có thể thực hiện được không? Làm thế nào để đạt được nó
Tôi muốn đồng bộ hóa các sự kiện chạm giữa hai bộ chuyển hướng View. Tôi đã thử cách này nhưng không thấy hiệu quả gì. viewPager.setOnTouchListener(mới View.OnTouchListener() {
Tôi phải xây dựng một trình phân trang View có chức năng cuộn tự động vô hạn. Tôi cũng cần hiển thị một chỉ báo trang bên dưới trình phân trang View, trình này sẽ phản hồi dựa trên các sự kiện cuộn. Hiện tại tôi đã áp dụng logic sau để cuộn tự động vô hạn: public void scroll
Tôi đang cố gắng làm theo một số hướng dẫn để tạo thanh trượt hình ảnh tự động bằng cách sử dụng trình phân trang View. Tôi đã làm mọi thứ hoạt động tốt, nhưng sau đó tôi nhìn vào biên đạo: 1 khung hình đã bị bỏ qua! Có lẽ ứng dụng đang làm quá nhiều việc trên luồng chính của nó. Và tìm kiếm lỗi. ` Bạn thấy đấy, ở thế hệ của tôi
Làm thế nào để nhảy từ chỉ mục thứ 0 của viewpager đến chỉ mục cuối cùng của view pager? Vậy làm sao để tạo vòng lặp trình phân trang xem? Nếu người dùng vuốt sang trái, tôi muốn nhảy đến chỉ mục cuối cùng và nếu người dùng vuốt sang phải, tôi muốn nhảy từ chỉ mục cuối cùng
Tôi đang làm việc trên một ứng dụng iOS lấy video và hình ảnh từ máy chủ, mỗi đối tượng có nhiều hình ảnh và video, tôi cần hiển thị những hình ảnh và video này trong một thanh trượt (trang) nơi người dùng có thể vuốt để lấy hình ảnh tiếp theo và tôi cần sắp xếp những video và hình ảnh này
Hiện tại chúng tôi đang phát triển ứng dụng Windows Forms bằng VS 2008 C#. Ứng dụng này được sử dụng để đọc các văn bản pháp lý dài (200 - 300 trang), xử lý khoảng 30 - 40 văn bản. Ứng dụng sẽ tìm kiếm trong văn bản tài liệu.
Tôi đang thực hiện một dự án sử dụng View Pager trên một màn hình như thế này: Nhưng bạn có thể thấy ở đó, có một bố cục phía trên liệt kê các năm được chọn dựa trên trang đang hiển thị. Khi chúng ta trượt thanh trượt View, năm cũng sẽ được hiển thị theo
Tôi cần có chỉ báo trang trong tệp phân trang View có hình ảnh. Đây là mã của tôi. lớp công khai IndicatorActivity mở rộng Activity { /** Đã gọi
Có cách nào để thay thế vòng tròn của thanh trượt trong trình phân trang bằng các từ đại diện cho từng trang chiếu (như menu có thể nhấp để trượt nội dung bên dưới) không? Có các tùy chọn ở đây http://bxslider.com/options nhưng không chắc tùy chọn nào có thể đạt được điều này
ViewPager được chồng lên trên fab. Làm thế nào để đưa fab vào vị trí đầu tiên? Hoặc có lẽ đó không phải là lý do? Khi tôi sử dụng, nút không được nhấn mà các tab lại được lật. Câu trả lời hay nhấtCoordinat
Tôi đang cố gắng triển khai ViewPager có thể vuốt theo chiều dọc với một loạt thẻ, trông và cảm nhận giống nhau. Tôi đã có thể triển khai VerticalViewPager bằng cách sử dụng ViewPager.PageTransformer và hoán đổi các điểm chạm.
Tôi không thể tạo và thêm trình phân trang View theo chương trình. Tôi tìm thấy câu hỏi này Android create ViewPager programmatically nhưng câu trả lời được chấp nhận không hiệu quả với tôi. Mã liên quan như sau.
Tôi có một trình phân trang View trong đó mỗi trang là một View tùy chỉnh (... không phải là Fragment) mà tôi đang mở rộng bằng cách sử dụng LayoutInflator. .Mỗi View tùy chỉnh có một Im
Tôi đã thiết lập một thanh trượt hoạt hình bằng jQuery: bản demo jsFiddle: http://jsfiddle.net/neal_fletcher/9zRDV/ Lý do là tôi muốn tạo một phần nhô ra nhẹ trên thanh trượt
Tôi là một lập trình viên xuất sắc, rất giỏi!