我的活动中有一个简短的项目列表。我想在UI中的某处添加一个按钮,以切换到项目列表的编辑模式。我是Android编程的新手,甚至是使用Android设备。我已经习惯了iOS。在iOS表格中,通常会有一个"编辑"导航栏右上角的按钮。 Android中切换到列表编辑模式的标准方法是什么? (有标准的方法吗?)
在编辑模式下,我计划在每个列表项视图的右侧显示编辑(例如铅笔)和删除(例如' X')按钮。
我认为它不相关,但以防万一......我没有使用RecyclerView
或任何花哨的东西。只需LinearLayout
。这个清单太短了我不认为有使用回收商的性能原因。是否有其他理由使用RecyclerView
?
谢谢!
答案 0 :(得分:1)
您需要采取行动模式。例如:
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends Activity {
ActionMode actionMode;
final String LOG_TAG = "myLogs";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void onClick(View v) {
if (actionMode == null)
actionMode = startActionMode(callback);
else
actionMode.finish();
}
private ActionMode.Callback callback = new ActionMode.Callback() {
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.context, menu);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
Log.d(LOG_TAG, "item " + item.getTitle());
return false;
}
public void onDestroyActionMode(ActionMode mode) {
Log.d(LOG_TAG, "destroy");
actionMode = null;
}
};
// ...
}