我有一个应用程序,如果我在某个屏幕上,并且用户试图访问需要身份验证的应用程序的特定部分,它会在继续之前进入登录屏幕.
该应用程序当前所做的是,比如我在屏幕3上,但是想要进入屏幕4,但我需要先登录才能进入屏幕4.显示登录屏幕,登录后,用户被重定向到屏幕1必须返回步骤才能返回他们所在的屏幕.
我想要的是,当用户点击按钮进入屏幕4时,显示登录屏幕,并且一旦登录,用户就被发送到屏幕4,不再返回到屏幕3,然后再次点击该按钮.
我试过的是调用finish(); 一旦用户成功登录,但所有操作都是将用户返回到屏幕3,使他们必须点击按钮才能进入屏幕4,当然现在允许他们登录屏幕4.
有什么想法我可以在我的应用程序中实现这一点?
谢谢
编辑:标题可能会误导,我想不出更好的方式来改写标题.如果可以请继续请求编辑
有没有办法检查过滤的列表视图是否为空?
我想TextView说没有结果,如果它是空的?
我有一个列表,说我想根据搜索过滤15项,并且让我们说过滤器后我留下5,我想返回5.如果结果为空则返回0.每次我调用适配器.getCount()它经过过滤后总是返回15
编辑:这是我为测试而尝试的代码,但它总是进入Else声明.
代码示例:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_results);
Intent intent = getIntent();
String searchPhrase = intent.getExtras().getString("search");
Log.i(TAG, "Search phrase is" + searchPhrase);
mListView = (ListView) findViewById(R.id.searchResultsListView);
String[] listOfText = {"Row 1", "Row 2", "Row 3", "Row 4", "Row 5", "Row 6", "Row 7", "Row 8", "Row 9", "Row 10", "Row 11", "Row 12", "Row 13", "Row 14", "Row 15"};
ArrayList<String> rowList = new ArrayList<>();
rowList.addAll(Arrays.asList(listOfText));
mArrayAdapter = new ArrayAdapter<>(this, R.layout.search_results_row_list, rowList);
String searchQuery = searchPhrase.trim();
if …Run Code Online (Sandbox Code Playgroud) 我在Android Studio中收到错误:
堆栈跟踪:
java.lang.ArrayIndexOutOfBoundsException: 82277
at org.jetbrains.org.objectweb.asm.ClassReader.readInt(ClassReader.java:2350)
at org.jetbrains.org.objectweb.asm.ClassReader.getAttributes(ClassReader.java:2201)
at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:565)
at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
at com.android.tools.idea.rendering.ClassConverter.rewriteClass(ClassConverter.java:184)
at com.android.tools.idea.rendering.ClassConverter.rewriteClass(ClassConverter.java:77)
at com.android.tools.idea.rendering.RenderClassLoader.convertClass(RenderClassLoader.java:151)
at com.android.tools.idea.rendering.RenderClassLoader.loadClass(RenderClassLoader.java:135)
at com.android.tools.idea.rendering.RenderClassLoader.loadClassFile(RenderClassLoader.java:116)
at org.jetbrains.android.uipreview.ModuleClassLoader.loadClassFile(ModuleClassLoader.java:341)
at org.jetbrains.android.uipreview.ModuleClassLoader.loadClassFromModule(ModuleClassLoader.java:245)
at org.jetbrains.android.uipreview.ModuleClassLoader.loadClassFromModuleOrDependency(ModuleClassLoader.java:206)
at org.jetbrains.android.uipreview.ModuleClassLoader.load(ModuleClassLoader.java:150)
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:54)
at org.jetbrains.android.uipreview.ModuleClassLoader.findClass(ModuleClassLoader.java:90)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.jetbrains.android.uipreview.ModuleClassLoader.loadClass(ModuleClassLoader.java:193)
at java.lang.Class.getDeclaredClasses0(Native Method)
at java.lang.Class.getDeclaredClasses(Class.java:1867)
at org.jetbrains.android.uipreview.ViewLoader.parseClass(ViewLoader.java:562)
at org.jetbrains.android.uipreview.ViewLoader.loadAndParseRClass(ViewLoader.java:546)
at org.jetbrains.android.uipreview.ViewLoader.loadAndParseRClassSilently(ViewLoader.java:502)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadAndParseRClass(LayoutlibCallbackImpl.java:676)
at com.android.tools.idea.rendering.RenderTask.<init>(RenderTask.java:164)
at com.android.tools.idea.rendering.RenderService.createTask(RenderService.java:236)
at com.android.tools.idea.uibuilder.model.NlModel.inflate(NlModel.java:345)
at com.android.tools.idea.uibuilder.model.NlModel.updateModel(NlModel.java:406)
at com.android.tools.idea.uibuilder.model.NlModel$2.run(NlModel.java:259)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:333)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:323)
at com.intellij.util.ui.update.MergingUpdateQueue$3.run(MergingUpdateQueue.java:267)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:282)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:234)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:378)
at com.intellij.util.Alarm$Request.run(Alarm.java:389) …Run Code Online (Sandbox Code Playgroud) 有没有办法在Android studio/eclipse中使用Concatenation创建代码构建代码?
换句话说,我有2套字符串,每个国家我正在处理ZA和KE.他们有2个不同的EULA.
所以我想拉出与各自国家相关的字符串.
String message = mContext.getString(R.string.eula_string_za);
Run Code Online (Sandbox Code Playgroud)
上面是输出代码的示例.在某种程度上,我可以根据If语句进行"创建"吗?
String str = "mContext.getString(R.string.eula_string_";
if (something = "ZA") {
str += "za);";
} else {
str += "ke);";
}
Run Code Online (Sandbox Code Playgroud)
所以如果选择的国家是ZA,那么输出代码应该是
mContext.getString(R.string.eula_string_za);
Run Code Online (Sandbox Code Playgroud)
如果它的KE应该是
mContext.getString(R.string.eula_string_ke);
Run Code Online (Sandbox Code Playgroud)
然后结果将从strings.xml中提取正确的字符串?