我是新来的。如果我以错误的方式提出问题或者我是否需要澄清这个问题,请告诉我。
我正在创建一个Android应用,我在我的代码中使用片段(即可以滑动的4个标签)。我正在尝试添加一个栏来显示用户使用量的百分比。我认为最好的选择是进度条,但我似乎无法让它发挥作用。
这是我想要添加栏的片段的代码;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class UserFragment extends Fragment {
private ProgressDialog progress;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_calls, container, false);
progress = new ProgressDialog(this);
return rootView;
}
public void open(View view){
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progress.setIndeterminate(true);
progress.show();
final int totalProgressTime = 100;
final Thread t = new Thread(){
@Override
public void run(){
int jumpTime = 0;
while(jumpTime < totalProgressTime){
try {
sleep(200);
jumpTime += 5;
progress.setProgress(jumpTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
};
t.start();
}
} 我在线跟踪了几个教程,但我一直收到错误,说“构造函数进度对话框未定义”。我知道我需要某种上下文对象,但我对如何去做这件事感到迷茫。如果你们有任何关于我的帮助,我会非常感激。感谢
答案 0 :(得分:0)
这是另一个显示如何设置进度对话框的问题。 Show ProgressDialog Android
答案 1 :(得分:0)
如果需要在片段内获取上下文对象,可以使用 getActivity()方法,该方法返回与片段关联的活动。如果您已经获得了Activity,那么您就拥有了上下文,因为 Activity扩展了Context 。
答案 2 :(得分:0)
您可以使用以下任何一种:
status = api.get_status(id)
author = status.author
retweeted_status_author = status.retweeted_status.author
quoted_status_author = status.quoted_status.author
或
ProgressDialog progress = new ProgressDialog(getContext());
或覆盖ProgressDialog progress = new ProgressDialog(getActivity());
中的onAttach方法并使用上下文:
Fragment
然后在private Context context;
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.context = context; //when fragment is created, context will be initialised for use.
}
方法中,使用上下文:
onCreateView
这将确保每当Fragment附加到Activity时,只会初始化上下文。直接使用ProgressDialog progress = new ProgressDialog(context);
或getContext()
有时可以创建getActivity()
。