尽量不重复我自己(安卓/java)
怎么了? 我是一个开发新手,无论在哪里我都读到“不要重复你自己”,所以我真的很介意重复我自己。 我在应用程序的每一个活动中都复制并粘贴了一段代码,我怀疑可能有一种方法可以不重复它——可能创建一个类并调用它的方法——但我不知道如何实现它。 下面的代码就是我所说的:我在导航抽屉中使用的东西,它位于我应用程序每个活动的主类中:
@Override
public void onItemClick(AdapterView<?> parent, View arg1, int position,
long arg3) {
if (position == 0) {
Toast.makeText(this, "categories baby", Toast.LENGTH_SHORT).show();
} else if (position == 1){
final Context context = this;
Intent getUserData = getIntent();
String userEmail = getUserData.getStringExtra("user_email");
Intent intent = new Intent(context, NewAdActivity.class);
intent.putExtra("userEmail", userEmail);
startActivity(intent);
} else if (position == 2){
final Context context = this;
Intent getUserData = getIntent();
String userEmail = getUserData.getStringExtra("user_email");
Intent intent = new Intent(context, AdListActivity.class);
intent.putExtra("userEmail", userEmail);
startActivity(intent);
} else {
Session session = Session.getActiveSession();
session.closeAndClearTokenInformation();
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
}
}
你能给我一些提示,告诉我如何重复使用这个而不是复制/粘贴吗? 谢谢
# 1 楼答案
正如你可以在下面的方块中清楚地看到的
除了活动的类之外,您正在两次执行相同的操作。因此,你可以把它撕成这样一个函数
塔达,只写了一次
# 2 楼答案
只需创建这样一个util类
你想叫什么就叫什么
# 3 楼答案
您可以创建一个扩展
Activity
的新类,并实现您的代码,然后让您的所有活动扩展该类该代码似乎是
AdapterView.OnItemClickListener
的实现,因此您可以创建如下内容:然后你的主要活动可能是: