2017-09-05 3 views
-1
package com.example.mukullashkari.onlinetestportal; 
import android.content.Intent; 
import android.support.design.widget.TabLayout; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 

public class Tab1_fragment extends Fragment { 

Button btnC; 

public static Tab1_fragment newInstance(int sectionNumber) { 
    Tab1_fragment fragment = new Tab1_fragment(); 
    return fragment; 
} 

public Tab1_fragment() 
{ 

} 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    btnC=(Button) btnC.findViewById(R.id.C_btn); 
    btnC.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent myIntent=new Intent(Tab1_fragment.this,Cassessment.class); 
      startActivity(myIntent); 
     } 
    } 

    ); 
} 


@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { 


    return inflater.inflate(R.layout.tab1_fragment,container,false); 
} 

}Kann nicht Konstruktor 'Intent'

löse ich Cassessment activity.But der Fehler erstellt haben, wird in Intent Constructor kommen. Sagt, dass der Konstruktor nicht aufgelöst werden kann. Was in diesem Code falsch ist, kann jemand helfen !!

ERROR ::

Kann nicht Konstruktor 'Intent (com.example.mukullashkari.onlinetestportal.Tab1_fragment, java.lang.Class)'

+3

Da Sie den Fragmentkontext nicht als Parameter übergeben können, müssen Sie den Aktivitätskontext übergeben versuchen Sie getActivity() im Intent – Raghavendra

+0

verwenden Sie Intent myIntent = new Intent (getActivity(), Casessment.class); Aktivität von Fragment –

Antwort

0

Der Intent Konstruktor erwartet Sie eine Context als ersten Parameter, um entweder das so etwas wie getActivity() ändern oder einen anderen Kontext verwenden, (ein Fragment ist kein gültiger Kontext, sondern eine Aktivität ist).

0

Sie vorbei Fragment als Kontext beheben, das ungültig ist erhalten Kontext Fragment Verwendung Verwendung getActivity() wie unten Code

btnC=(Button) btnC.findViewById(R.id.C_btn); 
    btnC.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent myIntent=new Intent(getActivity(),Cassessment.class); 
      startActivity(myIntent); 
     } 
    } 

oder versuchen, diese

Intent myIntent=new Intent(Tab1_fragment.this.getActivity(),Cassessment.class); 
startActivity(myIntent); 
Verwandte Themen