Ich habe eine Java-Klasse, die eine allgemeine Benutzerbereichsaktivität mit einigen Schaltflächen darstellt, ich muss diese Schaltflächen, Texte usw. in eine Aktivität mit Registerkarten integrieren. Hier ist die generische Klasse.Schaltfläche in Fragmenten hinzufügen
public class UserAreaActivity extends AppCompatActivity {
private Button scan_btn;
// User Session Manager Class
UserSessionManager session;
Context thisContext;
// Button Logout
Button btnLogout;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_area);
thisContext = getApplicationContext();
// Session class instance
session = new UserSessionManager(getApplicationContext());
final EditText etUsername= (EditText) findViewById(R.id.etUsername);
final TextView welcomeMessage=(TextView) findViewById(R.id.tvWelcomeMsg);
// Button logout
btnLogout = (Button) findViewById(R.id.btnLogout);
// Toast.makeText(getApplicationContext(),
// "User Login Status: " + session.isUserLoggedIn(),
//
//get user data from session
HashMap<String, String> user = session.getUserDetails();
//get name
String name = user.get(UserSessionManager.KEY_NAME);
// get username
String username = user.get(UserSessionManager.KEY_USERNAME);
//Intent intent = getIntent();
String message = name + " welcome to your user area!";
welcomeMessage.setText(message);
etUsername.setText(username);
scan_btn=(Button) findViewById(R.id.scan_btn);
final Activity activity = this;
btnLogout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Clear the User session data
// and redirect user to LoginActivity
session.logoutUser();
}
});
scan_btn.setOnClickListener
(
new View.OnClickListener()
{
@Override
public void onClick(View view)
{
IntentIntegrator integrator = new IntentIntegrator(activity);
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
integrator.setPrompt("Scan");
integrator.setCameraId(0);
integrator.setBeepEnabled(false);
integrator.setBarcodeImageEnabled(false);
integrator.initiateScan();
}
}
);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null)
{
if(result.getContents()==null)
{
Toast.makeText(this,"Hai cancellato la scansione", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(this, result.getContents(),Toast.LENGTH_LONG).show();
}
}
else
{
super.onActivityResult(requestCode, resultCode, data);
}
}
}
Da Java keine Mehrfachvererbung nicht unterstützt, wie kann ich von AppCompatActivity und Fragmente zugleich für die Integration in meine TabbedView Tasten ecc erweitern ..?
Hier ist das Fragment, wo ich will meinen Code
public class Tab3Add extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab3add, container, false);
return rootView;
}
}
Ihre Frage ist mir nicht klar. Tatsächlich wird das Fragment dazu verwendet, einen Teil der Arbeit zu erledigen, die in einer Aktivität untergebracht ist. Ihr gewünschter Aufgabencode wird in Fragment implementiert und das Fragment wird zur Aktivität hinzugefügt. Sieh dir das an http://www.vogella.com/tutorials/AndroidFragments/article.html –
Du kannst nicht zwei Klassen gleichzeitig erben. Es ist nicht möglich, eine Aktivität und ein Fragment gleichzeitig zu erweitern. Aber Sie können sie trennen, aber die Aktivität hinzufügen. Der Fragmentteil wird entsprechend seinem Ablauf für die Aktivität ausgeführt –