Android开发:合并两个Java文件
我有两个不同的java文件,我想知道是否有办法将它们组合在一起,使两个代码都在一个文件中 下面创建的对话框在单击“否”时不执行任何操作,如果单击“是”,则移动到新活动:Android开发:合并两个Java文件,java,android,dialog,spinner,Java,Android,Dialog,Spinner,我有两个不同的java文件,我想知道是否有办法将它们组合在一起,使两个代码都在一个文件中 下面创建的对话框在单击“否”时不执行任何操作,如果单击“是”,则移动到新活动: package com.example.top_tech_deals; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Int
package com.example.top_tech_deals;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class AlertDialogActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.post);
Button btnAlertTwoBtns = (Button) findViewById(R.id.btnAlertWithTwoBtns);
/**
* Showing Alert Dialog with Two Buttons one Positive Button with Label
* "YES" one Negative Button with Label "NO"
*/
btnAlertTwoBtns.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// Creating alert Dialog with two Buttons
AlertDialog.Builder alertDialog = new AlertDialog.Builder(AlertDialogActivity.this);
// Setting Dialog Title
alertDialog.setTitle("Confirm Delete...");
// Setting Dialog Message
alertDialog.setMessage("Are you sure you want delete this?");
// Setting Icon to Dialog
alertDialog.setIcon(R.drawable.delete);
// Setting Positive "Yes" Button
alertDialog.setPositiveButton("YES",
new DialogInterface.OnClickListener() {
public void onClick (DialogInterface dialog,int which) {
// Write your code here to execute after dialog
Intent k = new Intent(AlertDialogActivity.this, Camera.class);
startActivity(k);
Toast.makeText (getApplicationContext(), "You clicked on YES", Toast.LENGTH_SHORT).show();
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton("NO",
new DialogInterface.OnClickListener() {
public void onClick (DialogInterface dialog, int which) {
// Write your code here to execute after dialog
Toast.makeText (getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show();
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
}
});
}
}
第二个代码创建了一个下拉菜单,其中包含用户可以选择的项目:
package com.example.top_tech_deals;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
public class AndroidSpinnerExampleActivity extends Activity implements OnItemSelectedListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinex);
// Spinner element
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Spinner click listener
spinner.setOnItemSelectedListener(this);
// Spinner Drop down elements
List<String> categories = new ArrayList<String>();
categories.add("Automobile");
categories.add("Business Services");
categories.add("Computers");
categories.add("Education");
categories.add("Personal");
categories.add("Travel");
// Creating adapter for spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spinner.setAdapter(dataAdapter);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// On selecting a spinner item
String item = parent.getItemAtPosition(position).toString();
// Showing selected spinner item
Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show ();
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
package com.example.top_tech_deals;
导入java.util.ArrayList;
导入java.util.List;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Spinner;
导入android.widget.Toast;
导入android.widget.AdapterView.OnItemSelectedListener;
公共类AndroidSpinnerExampleActivity扩展活动实现OnItemSelectedListener{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.spinex);
//旋转元件
微调器微调器=(微调器)findViewById(R.id.Spinner);
//微调器单击侦听器
spinner.setOnItemSelectedListener(此);
//微调器下拉元素
列表类别=新建ArrayList();
类别。添加(“汽车”);
类别。添加(“商业服务”);
类别。添加(“计算机”);
类别。添加(“教育”);
类别。添加(“个人”);
类别。添加(“旅行”);
//为微调器创建适配器
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,类别);
//下拉式布局样式-带单选按钮的列表视图
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
//将数据适配器连接到微调器
spinner.setAdapter(dataAdapter);
}
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//关于选择微调器项
String item=parent.getItemAtPosition(position.toString();
//显示所选微调器项
Toast.makeText(parent.getContext(),“Selected:”+项,Toast.LENGTH\u LONG.show();
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
}
本质上,我想要的是我的一个xml文件同时使用对话框和下拉菜单,然而,由于我在将这两个代码放入一个java文件时遇到困难,我求助于创建两个不同的xml文件,post.xml(链接到AlertDialogActivity)和spinex.xml(链接到AndroidPinnerExampleActivity)。我尝试将两个java文件链接到同一个xml,但我发现只有一个java文件似乎可以做任何事情,因此我相信唯一的解决方案是将两个代码合并到一个java文件中,但我尝试此操作时似乎总是会出错。每个公共类必须位于单独的文件中,文件名与类相同。但是如果您将一个类更改为非公共类,则可以。我认为最好的做法是保持你的文件原样。对于将来的可维护性来说,最好将类放在单独的文件中,这样您就可以轻松找到类。每个公共类都必须放在单独的文件中,文件名与类相同。但是如果您将一个类更改为非公共类,则可以。我认为最好的做法是保持你的文件原样。对于未来的可维护性来说,将类放在单独的文件中更好,这样您就可以轻松地找到类 本质上,我想要的是我的一个xml文件使用对话框和 框和下拉菜单,但是,因为我有麻烦,把 这两个代码都集成到一个java文件中,我求助于创建两个 不同的xml文件,链接到AlertDialogActivity的post.xml 和spinex.xml,该文件链接到AndroidSpinerExampleActivity 按照以下步骤操作:
- 创建包含
和按钮
的布局文件微调器
- 创建一个扩展
并实现活动
接口的类OnItemSelectedListener
- 将先前创建的布局设置为上述活动的内容视图
- 在
方法中,您将拥有:onCreate
setContentView(R.layout.combinedlayout); // must be in the combinedlayout Button btnAlertTwoBtns = (Button) findViewById(R.id.btnAlertWithTwoBtns); btnAlertTwoBtns.setOnClickListener(new View.OnClickListener() { // the rest of the listener code from your first class. } // must be in the combinedlayout Spinner spinner = (Spinner) findViewById(R.id.spinner); // Spinner click listener spinner.setOnItemSelectedListener(this); // Spinner Drop down elements List<String> categories = new ArrayList<String>(); categories.add("Automobile"); categories.add("Business Services"); categories.add("Computers"); categories.add("Education"); categories.add("Personal"); categories.add("Travel"); // Creating adapter for spinner ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories); // Drop down layout style - list view with radio button dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // attaching data adapter to spinner spinner.setAdapter(dataAdapter);
setContentView(R.layout.combinedlayout); //必须在组合布局中 按钮btnAlertTwoBtns=(按钮)findViewById(R.id.btnAlertWithTwoBtns); btnAlertTwoBtns.setOnClickListener(新视图.OnClickListener(){ //来自第一个类的其余侦听器代码。 } //必须在组合布局中 微调器微调器=(微调器)findViewById(R.id.Spinner); //微调器单击侦听器 spinner.setOnItemSelectedListener(此); //微调器下拉元素 列表类别=新建ArrayList(); 类别。添加(“汽车”); 类别。添加(“商业服务”); 类别。添加(“计算机”); 类别。添加(“教育”); 类别。添加(“个人”); 类别。添加(“旅行”); //为微调器创建适配器 ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,类别); //下拉式布局样式-带单选按钮的列表视图 dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项); //将数据适配器连接到微调器 spinner.setAdapter(dataAdapter);
- 创建包含
和按钮
的布局文件微调器
- 创建一个扩展
并实现活动
接口的类OnItemSelectedListener
- 将先前创建的布局设置为上述活动的内容视图
- 在
方法y中onCreate
<Button .... /> <Spinner .... />
import android.widget.AdapterView.OnItemSelectedListener; public class AndroidSpinnerAndButtonExampleActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.your_layout); // Spinner element Spinner spinner = (Spinner) findViewById(R.id.spinner); // Spinner Drop down elements List<String> categories = new ArrayList<String>(); categories.add("Automobile"); categories.add("Business Services"); categories.add("Computers"); categories.add("Education"); categories.add("Personal"); categories.add("Travel"); // Creating adapter for spinner ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories); // Drop down layout style - list view with radio button dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // attaching data adapter to spinner spinner.setAdapter(dataAdapter); setSpinnerOnItemSelectedListener(spinner); Button btnAlertTwoBtns = (Button) findViewById(R.id.btnAlertWithTwoBtns); /** * Showing Alert Dialog with Two Buttons one Positive Button with Label * "YES" one Negative Button with Label "NO" */ btnAlertTwoBtns.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { // Creating alert Dialog with two Buttons AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); // Setting Dialog Title alertDialog.setTitle("Confirm Delete..."); // Setting Dialog Message alertDialog.setMessage("Are you sure you want delete this?"); // Setting Icon to Dialog alertDialog.setIcon(R.drawable.delete); // Setting Positive "Yes" Button alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() { public void onClick (DialogInterface dialog,int which) { // Write your code here to execute after dialog Intent k = new Intent(this, Camera.class); startActivity(k); Toast.makeText (getApplicationContext(), "You clicked on YES", Toast.LENGTH_SHORT).show(); } }); // Setting Negative "NO" Button alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() { public void onClick (DialogInterface dialog, int which) { // Write your code here to execute after dialog Toast.makeText (getApplicationContext(), "You clicked on NO", Toast.LENGTH_SHORT).show(); dialog.cancel(); } }); // Showing Alert Message alertDialog.show(); } }); } public void setSpinnerOnItemSelectedListener(Spinner spinner){ spinner.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // On selecting a spinner item String item = parent.getItemAtPosition(position).toString(); // Showing selected spinner item Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show (); } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } }