我正在使用查看寻呼机并且垂直滑动无法正常工作,我搜索了很多但无济于事我找到了这个解决方案,但这也没有正常工作,解决方法是阻止文本视图链接上的单击侦听器
details.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
details.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
但是我无法在文本视图上滑动视图页面,然后我尝试使用我的片段上的手势检测器检测手势,并在左/右滑动时更改片段对于动画,这个技巧很好但问题是动画的外观不像视图分页器那样。我确实找到了解决方案,我正在分享它,以帮助其他更好的答案也受到赞赏。
答案 0 :(得分:0)
以下是我的所作所为并希望它能帮到你们,谢谢如果它不能让我知道,如果你有任何更好的想法,请分享以便我们改进。
//在activity或fragmentActivity中编写此代码oncreate注意我在internt中传递数据供我使用请跳过,如果你不想要
Intent newsFrag = new Intent(mContext, PageViewActivity.class);
newsFrag.putExtra("xyz", getArguments().getString("xyz"));
newsFrag.putExtra("abc", abc);
startActivity(newsFrag);
在视图寻呼机活动中我做了这个
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
public class PageViewActivity extends FragmentActivity {
MyPageAdapter pageAdapter;
List<Fragment> fragments;
RSSFeed feed;
String xyz;
int pos;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page_view);
xyz= getIntent().getExtras().getString("xyx");
abc = getIntent().getExtras().getInt("abc");
feed = LocalDatabaseManager.getInstance(this).fetchOnCategory(xyz);
fragments = getFragments();
pageAdapter = new MyPageAdapter(getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager) findViewById(R.id.viewpager);
pager.setAdapter(pageAdapter);
pager.setCurrentItem(pos - 1);
}
private List<Fragment> getFragments() {
List<Fragment> fList = new ArrayList<Fragment>();
for (int i = 0; i < feed.getItemCount(); i++) {
MyFragmentNews myfrag = new MyFragmentNews();
Bundle bundle = new Bundle();
bundle.putInt("abc", abc- 1);
bundle.putString("xyz", xyz);
myfrag.setArguments(bundle);
myfrag.newInstance(feed.getItem(i));
fList.add(myfrag);
}
return fList;
}
}
这是我制作片段的方式
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MyFragmentNews extends Fragment {
RSSItem rssItem;
ImageButton bookmark;
private RelativeLayout progressLoader;
private FrameLayout theRoot;
public MyFragmentNews newInstance(RSSItem newsItem) {
MyFragmentNews f = new MyFragmentNews();
rssItem = newsItem;
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.news_details, container, false);
TextView heading = (TextView) view.findViewById(R.id.newHeading);
heading.setText(AppUtils.cleanSymbols(Html.fromHtml(rssItem.getTitle()).toString()));
return view;
}
}
这是帮助我http://www.javacodegeeks.com/2013/04/android-tutorial-using-the-viewpager.html
的链接如果有人用手势dector做什么我也可以发布该代码,希望它有助于谢谢