如何将活动转换为导航抽屉的片段 [英] How do I convert activity to fragment for navigation drawer
本文介绍了如何将活动转换为导航抽屉的片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
1周Android安卓新手。
我开发了一些基本的活动,我想实现导航抽屉只是我意识到我需要改成片段。根据我的基本活动,我知道应该怎么做。
公共类MainActivity扩展AppCompatActivity {
DatabaseReference db;
FirebaseHelper助手;
CustomAdapter适配器;
ListView lv;
EditText nameEditTxt,destinationEditTxt,originEditTxt;
public EditText dateEditTxt;
DatePickerDialog datePickerDialog;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
工具栏工具栏=(工具栏)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
lv =(ListView)findViewById(R.id.lv);
// INITIALIZE FIREBASE DB
db = FirebaseDatabase.getInstance()。getReference();
helper = new FirebaseHelper(db);
// ADAPTER
adapter = new CustomAdapter(this,helper.retrieve());
lv.setAdapter(adapter);
FloatingActionButton fab =(FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
displayInputDialog();
}
}};}
public void showPickerDialog(){
DatePickerDialog dpd = null;
if(android.os.Build.VERSION.SDK_INT> = android.os.Build.VERSION_CODES.N){
dpd = new DatePickerDialog(MainActivity.this);
dpd.setOnDateSetListener(new DatePickerDialog.OnDateSetListener(){
@Override
public void onDateSet(DatePicker datePicker,int i,int i1,int i2){
// here here如你所愿选择日期
字符串日期=年+ i +\ nmonth+ i1 +\ nay+ i2;
dateEditTxt.setText(日期);
}
});
}
if(dpd!= null)
dpd.show();
}
// DISPLAY输入对话框
private void displayInputDialog(){
Dialog d = new Dialog(this);
d.setTitle(添加新请求);
d.setContentView(R.layout.input_dialog);
nameEditTxt =(EditText)d.findViewById(R.id.nameEditText);
destinationEditTxt =(EditText)d.findViewById(R.id.destinationEditText);
originEditTxt =(EditText)d.findViewById(R.id.originEditText);
dateEditTxt =(EditText)d.findViewById(R.id.dateEditText);
按钮saveBtn =(按钮)d.findViewById(R.id.saveBtn);
dateEditTxt.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
showPickerDialog();
}
});
// SAVE
saveBtn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
// GET DATA
String name = nameEditTxt.getText()。toString();
String destination = destinationEditTxt.getText()。toString();
String origin = originEditTxt.getText()。toString();
String date = dateEditTxt.getText()。toString();
// SET DATA
Request s = new Request();
s.setName(name);
s .setOrigin(origin);
s.setDestination(destination);
s.setDate(date);
// SIMPLE VALIDATION
if( name!= null&& name.length()> 0){
// THEN SAVE
if(helper.save(s)){
// IF SAVED CLEAR EDITXT
dateEditTxt.setText( );
originEditTxt.setText();
destinationEditTxt.setText();
dateEditTxt.setText();
adapter = new CustomAdapter(MainActivity.this,helper.retrieve());
lv.setAdapter(adapter);
}
} else {
Toast.makeText(MainActivity.this,No empty fills,Toast.LENGTH_SHORT).show();
}
}
});
d.show();
}}
我的尝试:
尝试搜索教程,但我无法理解,有些解决方案不起作用
解决方案
参见片段| Android开发者 [ ^ ]。首先创建一个简单的测试,以便您可以看到它是如何工作的。您可能需要重新设计现有应用程序才能使用此功能。
另请参阅创建导航抽屉| Android开发者 [ ^ ]。
1-week-Android newbie here.
I developed some basic activities and I wanted to implement Navigation Drawer only I realized I need to change to fragment. Any idea what should I do given my basic activity.
public class MainActivity extends AppCompatActivity { DatabaseReference db; FirebaseHelper helper; CustomAdapter adapter; ListView lv; EditText nameEditTxt, destinationEditTxt, originEditTxt; public EditText dateEditTxt; DatePickerDialog datePickerDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); lv = (ListView) findViewById(R.id.lv); //INITIALIZE FIREBASE DB db = FirebaseDatabase.getInstance().getReference(); helper = new FirebaseHelper(db); //ADAPTER adapter = new CustomAdapter(this, helper.retrieve()); lv.setAdapter(adapter); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { displayInputDialog(); } });} public void showPickerDialog() { DatePickerDialog dpd = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { dpd = new DatePickerDialog(MainActivity.this); dpd.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker datePicker, int i, int i1, int i2) { // here show picked date as you want String date = "year " + i + "\nmonth " + i1 + "\nday " + i2; dateEditTxt.setText(date); } }); } if (dpd != null) dpd.show(); } //DISPLAY INPUT DIALOG private void displayInputDialog() { Dialog d = new Dialog(this); d.setTitle("Add New Request"); d.setContentView(R.layout.input_dialog); nameEditTxt = (EditText) d.findViewById(R.id.nameEditText); destinationEditTxt = (EditText) d.findViewById(R.id.destinationEditText); originEditTxt = (EditText) d.findViewById(R.id.originEditText); dateEditTxt = (EditText) d.findViewById(R.id.dateEditText); Button saveBtn = (Button) d.findViewById(R.id.saveBtn); dateEditTxt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showPickerDialog(); } }); //SAVE saveBtn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //GET DATA String name = nameEditTxt.getText().toString(); String destination = destinationEditTxt.getText().toString(); String origin = originEditTxt.getText().toString(); String date = dateEditTxt.getText().toString(); //SET DATA Request s = new Request(); s.setName(name); s.setOrigin(origin); s.setDestination(destination); s.setDate(date); //SIMPLE VALIDATION if (name != null && name.length() > 0) { //THEN SAVE if (helper.save(s)) { //IF SAVED CLEAR EDITXT dateEditTxt.setText(""); originEditTxt.setText(""); destinationEditTxt.setText(""); dateEditTxt.setText(""); adapter = new CustomAdapter(MainActivity.this, helper.retrieve()); lv.setAdapter(adapter); } } else { Toast.makeText(MainActivity.this, "No empty fills", Toast.LENGTH_SHORT).show(); } } }); d.show(); }}
What I have tried:
Tried to search tutorials but i couldn't really understand and some solution wouldn't work
解决方案
See Fragments | Android Developers[^]. Start by creating a simple test so you can see how it works. You may need to redesign your existing application in order to use this feature.
See also Creating a Navigation Drawer | Android Developers[^].
这篇关于如何将活动转换为导航抽屉的片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文