Android 活动
Android Activitys
我有在 DrawerClass class 中显示菜单抽屉的代码,这个 class 由所有 Activity 实例化以显示菜单,问题是不喜欢处理每个菜单的 Intents第一个参数,一般是 "theActivity.this" ,这个显然在外部 class 时不起作用,那么你得到了吗?我尝试了 getAplicationContext,将上下文作为参数传递给 class,什么也没有。
主要活动
DrawerClass d=new DrawerClass();
d.crear(listado,getApplicationContext(),getResources().getString(R.string.title_activity_home));
抽屉类
public void crear(ListView listado, final Context context, final String nom){
final ArrayList<String> datos=new ArrayList<String>();
datos.add(nom);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(contexto,android.R.layout.simple_list_item_1,datos);
listado.setAdapter(adapter);
listado.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String valor=datos.get(position);
if (valor.equals(nom)) {
Intent home = new Intent(context, HomeActivity.class);
startActivity(home);
}
}
});
}
您可以将 activity 作为参数传递给函数 crear
:
主要活动
DrawerClass d = new DrawerClass();
d.crear(listado, MainActivity.this,
getResources().getString(R.string.title_activity_home));
抽屉类
public void crear(ListView listado, final Activity activity, final String nom) {
final ArrayList<String> datos = new ArrayList<String>();
datos.add(nom);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
activity, android.R.layout.simple_list_item_1, datos);
listado.setAdapter(adapter);
listado.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String valor = datos.get(position);
if (valor.equals(nom)) {
Intent home = new Intent(activity, HomeActivity.class);
activity.startActivity(home);
}
}
});
}
我有在 DrawerClass class 中显示菜单抽屉的代码,这个 class 由所有 Activity 实例化以显示菜单,问题是不喜欢处理每个菜单的 Intents第一个参数,一般是 "theActivity.this" ,这个显然在外部 class 时不起作用,那么你得到了吗?我尝试了 getAplicationContext,将上下文作为参数传递给 class,什么也没有。
主要活动
DrawerClass d=new DrawerClass();
d.crear(listado,getApplicationContext(),getResources().getString(R.string.title_activity_home));
抽屉类
public void crear(ListView listado, final Context context, final String nom){
final ArrayList<String> datos=new ArrayList<String>();
datos.add(nom);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(contexto,android.R.layout.simple_list_item_1,datos);
listado.setAdapter(adapter);
listado.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String valor=datos.get(position);
if (valor.equals(nom)) {
Intent home = new Intent(context, HomeActivity.class);
startActivity(home);
}
}
});
}
您可以将 activity 作为参数传递给函数 crear
:
主要活动
DrawerClass d = new DrawerClass();
d.crear(listado, MainActivity.this,
getResources().getString(R.string.title_activity_home));
抽屉类
public void crear(ListView listado, final Activity activity, final String nom) {
final ArrayList<String> datos = new ArrayList<String>();
datos.add(nom);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
activity, android.R.layout.simple_list_item_1, datos);
listado.setAdapter(adapter);
listado.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String valor = datos.get(position);
if (valor.equals(nom)) {
Intent home = new Intent(activity, HomeActivity.class);
activity.startActivity(home);
}
}
});
}