所以,我已经切换到使用 // array with elements
char[] items = {'a', 'b', 'c', 'd', 'e'};
int count = 0;
// first of the "three"
for (int i = 0; i < upperBound; i++) {
// second of the "three"
for (int j = 0; j < upperBound; j++) {
// can't be identical to i
if (j == i)
continue;
// third of the "three"
for (int k = 0; k < upperBound; k++) {
// can't be identical to i or j
if (k == i || k ==j)
continue;
// print some display
System.out.println(items[i] + ", " + items[j] + ", " + items[k]);
// increment the total count
count++;
}
}
}
System.out.println("Total count is " + count);
中的ProgressBar
,如果我点击ProgressDialog
以外的任何地方,我现在找不到任何方法可以使ProgressBar
取消。 {1}}的视图区域,它会被忽略,我也想附加一个监听器,这样我就可以在取消它时执行一些代码。
这个ProgressBar
是最简单,不确定的,非定制的,我有:
ProgressBar
我如何实现上述目标?
答案 0 :(得分:2)
您只使用ProgressBar来表示某些内容的进度,它不包含任何逻辑,也不会创建任何类型的进程,它只会被外部进程(例如AsyncTask)更新(如果您愿意) )。这就是为什么它没有任何监听器并且它不可取消,因为ProgressBar只位于那里,所以另一个进程可以选择更新它或在完成后将其可见性设置为GONE。
所以基本上,你不应该担心进度条本身,你应该担心进度条代表的进程以及如何以及何时取消此进程,因此你可以调用progressBar.setVisibility(View.GONE) ) 当这个情况发生时。
作为一个例子,我使用ProgressBar来表示使用Picasso加载ImageView。 Picasso提供回调函数,让您知道加载成功或失败的时间。在这两种情况下,我将ProgressBar可见性设置为GONE,并根据具体情况采取其他操作。这就是为什么我说你必须知道如何以及何时应该操纵ProgressBar的可见性。
Picasso.with(this)
.load("https://image.tmdb.org/t/p/w640" + m.getPosterPath())
.into(posterImageView, new com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
progressBar.setVisibility(View.GONE);
}
@Override
public void onError() {
progressBar.setVisibility(View.GONE);
noImageFoundTextView.setVisibility(View.VISIBLE);
}
});
好的,所以如果您关注的是UX,并且您希望用户可以使ProgressBar不可用,那么您可以实现这种解决方法:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:layout_marginTop="5dp">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
<ImageView
android:id="@+id/dismissButton"
android:layout_width="20dp"
android:layout_height="20dp"
android:gravity="center"
android:background="@android:drawable/ic_menu_close_clear_cancel"
android:layout_gravity="center"/>
</FrameLayout>
imageview将处理进度条的关闭。
dismissButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
progressBar.setVisibility(View.GONE);
dismissButton.setVisibility(View.GONE);
//Take other actions on dismiss
}
});
答案 1 :(得分:0)
我假设您的ProgressBar处于某种布局,例如一个LinearLayout。您可以创建一个OnTouchListener并将其应用于包含ProgressBar的布局,将相同的OnTouchListener应用于任何其他可见的视图。您可以关闭ProgressBar并从OnTouchListener中执行其他代码。
答案 2 :(得分:0)
最顶层(Parent)layout.Apply OnTouchListener,并放置此行
SQL> select value from v$diag_info where name = 'Default Trace File'/* name of the trace file */;
SQL> exec dbms_monitor.session_trace_enable(null, null, true, false, 'all_executions')
SQL> your query executed under normal circumstances
SQL> exec dbms_monitor.session_trace_enable(null, null)