Я новичок в android. Я создаю приложение, состоящее из пейджера вида с маской вкладки. Когда я нажимаю кнопку, он выполняет некоторые вычисления внутри пейджера представления. Пока он делает это, я хочу, чтобы переключение между вкладками было отключено. Таким образом, не просматривается между страницами, пока он вычисляется. После завершения вычислений я хочу, чтобы включение включалось снова. Может ли кто-нибудь сказать мне, как это сделать, пожалуйста? Спасибо заранее. Я пробовал это. Пожалуйста, посмотрите на это:Как отключить swipes в представлении пейджера в android
public class Auto extends FragmentActivity{
Button tests;
private ViewPager pager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.auto);
tests = (PaperButton)findViewById(R.id.action_button_tests);
tests.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(pager.getCurrentItem()==0){
tests.setTag(1);
tests.setText("START TEST");
final int status = (Integer)v.getTag();
if(status==1){
tests.setText("STOP TEST");
v.setTag(0);
int i;
Login.Communication_Ok=false;
for(i=0;(i<5 && Login.Communication_Ok!=true);i++)
Login.Send_Commands_To_Micro_Controller(1);
if(Login.Communication_Ok==true)
{
Video_Status=false;
Login.Bucket_Status = false;
Login.Auto_Mode_Bfr_Fuse =false;
for(i=0;(i<5 && Login.Auto_Mode_Bfr_Fuse!=true);i++)
Login.Send_Commands_To_Micro_Controller(3);
if(Login.Auto_Mode_Bfr_Fuse==true)
Toast.makeText(Auto.this, "Test started", Toast.LENGTH_LONG).show();
else
{
Toast.makeText(Auto.this, "Communication Failure in Before Fuse connection Segment", Toast.LENGTH_LONG).show();
tests.setText("START TEST");
v.setTag(1);
return;
}
Test_Completed=false;
if(!Auto_Bucket_Tests_Thread.isAlive())
Auto_Bucket_Tests_Thread.start();
}
}
else{
tests.setText("START TEST");
v.setTag(1);
}
}
if(pager.getCurrentItem()==1){
tests.setTag(1);
tests.setText("START TEST");
final int status = (Integer)v.getTag();
if(status==1){
tests.setText("STOP TEST");
v.setTag(0);
int i;
Login.Communication_Ok=false;
for(i=0;(i<5 && Login.Communication_Ok!=true);i++)
Login.Send_Commands_To_Micro_Controller(1);
if(Login.Communication_Ok==true)
{
Video_Status=false;
Login.Bucket_Status = false;
Login.Automode_After_connecting_fuse =false;
for(i=0;(i<5 && Login.Automode_After_connecting_fuse!=true);i++)
Login.Send_Commands_To_Micro_Controller(4);
if(Login.Automode_After_connecting_fuse==true){
Toast.makeText(Auto.this, "Test started", Toast.LENGTH_LONG).show();
**/*For Disabling swipe between tabs*/**
pager.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
pager.getCurrentItem();
return false;
}
});
pager.setEnabled(false);
}
else
{
Toast.makeText(Auto.this, "Communication Failure in After Fuse connection Segment", Toast.LENGTH_LONG).show();
tests.setText("START TEST");
v.setTag(1);
return;
}
Test_Completed=false;
}
}
else{
tests.setText("START TEST");
v.setTag(1);
}
}
} }
Вы даже искали в Google ответы? [ЗДЕСЬ] (http://stackoverflow.com/questions/9650265/how-do-disable-paging-by-swiping-with-finger-in-viewpager-but-still-be-able-to-s) – snachmsm
Но здесь я расширяю свою основную деятельность до активности фрагмента @snachmsm –
, и что? используйте измененный 'ViewPager', нет никакой разницы, где вы его используете, Fragment, Activity, что бы это ни было ... это' View', требуется только 'Context' – snachmsm