1

У меня есть кнопки в моей Tab1.java, нажав на кнопку, он будет вызывать другой класс сказать Custom.java, но я столкнулся ошибка:активность вызывается не из намерения в onActivityCreated

"Intent cannot be resolved to a type"

Я много искал, но не нашел полезного сообщения об этом. Пожалуйста, помогите мне!

Tab1.java

public class Tab1 extends Fragment 
{ 
    ListView lv; 
    int FIRST_OPTION = 1; 
    int SECOND_OPTION = 2; 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onActivityCreated(savedInstanceState); 
    Button b = (Button) getView().findViewById(R.id.button4); 
    registerForContextMenu(b); 

    Button bi = (Button) getView().findViewById(R.id.button5); 
    registerForContextMenu(bi); 

    Button setting = (Button) getView().findViewById(R.id.setting); 
    setting.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      startActivity(new Intent(getActivity(), Custom.class));    
     } 
    }); 

    b.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 

     @Override 
     public void onCreateContextMenu(ContextMenu menu, View v, 
       ContextMenuInfo menuInfo) { 
      // TODO Auto-generated method stub 
      menu.add(0, FIRST_OPTION, 0, "Activate"); 

       } 
    }); 
bi.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { 

     @Override 
     public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
      // TODO Auto-generated method stub 

      menu.add(0, SECOND_OPTION, 0, "Activate"); 
     } 
    }); 

} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 

    int itemId = item.getItemId(); 
    if(itemId == FIRST_OPTION){ 
     //Normal_Mode nm = new Normal_Mode(); 
     //nm.activateNormal(getApplicationContext()); 
    Toast.makeText(this.getActivity(), "Normal Mode Activated", Toast.LENGTH_SHORT).show(); 

    return true; 

    } 
    else if(itemId == SECOND_OPTION){ 
     //Silent_Mode sm = new Silent_Mode(); 
     //sm.activateSilent(getApplicationContext()); 
     Toast.makeText(this.getActivity(), "Silent Mode Activated", Toast.LENGTH_SHORT).show(); 

     return true;    
    } 
    return super.onContextItemSelected(item); 
} 
    @Override 
    public View onCreateView(LayoutInflater inflater,@Nullable ViewGroup container, 
     @Nullable Bundle savedInstanceState) { 
     View view =inflater.inflate(R.layout.profile,container,false); 
     return view; 
    } 
} 

Custom.java

public class Custom extends Activity{ 

    private SeekBar mediaVlmSeekBar = null; 
    private AudioManager audioManager = null; 
    private boolean mphoneisVib; 
    Ringtone ringtone; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     this.setVolumeControlStream(AudioManager.STREAM_MUSIC); 
     setContentView(R.layout.custom_sett); 
     initControls(); 

     audioManager= (AudioManager) getSystemService(AUDIO_SERVICE); 

     setButtonClickListener(); 

     Button b = (Button) findViewById(R.id.button6); 
     b.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       Intent inte = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); 
       inte.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, 
         RingtoneManager.TYPE_RINGTONE); 
       //String title= ringtone.getTitle(this); 
      inte.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Sle"); 

       startActivityForResult(inte, 5); 
      }   
     });  
    } 

    /********************* Code For VIbration *******************************/ 

    private void setButtonClickListener() { 
     // TODO Auto-generated method stub 
     ToggleButton tb = (ToggleButton) findViewById(R.id.toggleButton1); 
     tb.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       if(mphoneisVib){ 
        audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
       mphoneisVib=false; 
      Toast toast= Toast.makeText(Custom.this, "Vibration Off !", 
        Toast.LENGTH_SHORT); 
       toast.show(); 
       } 
       else{ 

        audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); 

        mphoneisVib=true; 

        Toast toast=Toast.makeText(Custom.this, "Vibration On !", 
        Toast.LENGTH_SHORT); 
        toast.show();     
       }     
      } 
     }); 
    } 
    /********************   End  *************************/ 

    /******************** Code For Volume Seekbar *********************/ 
    private void initControls() { 
     // TODO Auto-generated method stub 

     audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     mediaVlmSeekBar = (SeekBar) findViewById(R.id.seekBar1); 
     mediaVlmSeekBar.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)); 
     //Set the progress with current Media Volume 
     mediaVlmSeekBar.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)); 

     try { mediaVlmSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {  
      public void onStopTrackingTouch(SeekBar arg0) {   } 

      @Override 
      public void onProgressChanged(SeekBar seekBar, int progress, 
        boolean fromUser) { 
       // TODO Auto-generated method stub 

       audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);     
      } 

      @Override 
      public void onStartTrackingTouch(SeekBar seekBar) {     
      } 
     }); 

     } 
     catch (Exception e) 
     {e.printStackTrace(); } 
    } 
      /*********************** End ***************************/ 
+0

опубликовать весь журнал. –

+0

Опубликовать Пользовательский исходный код класса – 4gus71n

+0

@AkashSingh Я отправил свой код –

ответ

1

Хё там, Пожалуйста, попробуйте этот способ.

setting.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View arg0) { 
    /startActivity(new Intent(getActivity(), Custom.class)); 
    Intent intent = new Intent((Tab1)getActivity(), Custom.class); 
    (Tab1)getActivity().startActivity(intent);  

    } 
}); 
+0

Hurray !! я решил сам Я просто импортировал пакет ** import android.content.Intent; ** И обновился. –

+1

@M Faisal Hyder спасибо bhayya :) –

+0

: D я тоже сомневался.! мой плохой я пропустил легкие пункты: p –

1

Там в несколько простых советов, которые могут решить эту проблему:

1) Вы убедитесь, что юрты Пользовательские активность зарегистрирован в андроида манифеста?

2) Не вызывайте startActivity непосредственно в своем фрагменте, используйте интерфейс для связи с деятельностью, которая держит ваш фрагмент, и делайте startActivity там, этот путь более чист.

3) Не используйте имена классов, такие как Custom или Tab1, используйте CustomActivity и TabFragment, следуйте инструкциям по стилю Android.

Code guidelines

Communication Fragment-Activity

Имейте в виду, что если когда-нибудь, ваш босс или кто-то говорит вам «Ну, теперь мы собираемся сделать версию для планшетных устройств» этот код будет нуждаться много изменений, поэтому вы должны сообщать свои фрагменты с вашими действиями и выполнять там логику.

Сообщите мне, есть ли у вас какие-либо проблемы или проблема не решена.

+0

Спасибо за ваше приятель. Я решил свою проблему. См. Выше. Для вас я дам +1 –

Смежные вопросы