как я могу вызвать метод throwable внутри runnable, для создания нового потока

#java #android

#java #Android

Вопрос:

при попытке создать progressbar в Android я столкнулся с этой проблемой. я следую этому примеру:http://developer.android.com/reference/android/widget/ProgressBar.html

моя проблема в том, что один из моих методов, который я хочу вызвать, должен быть внутри try и catch как мне сделать это внутри runnable?

 Runnable SendThread = new Runnable() 
{
    try 
    {
        GetAndConvertImagesToPdf();
        mProgStatus = 30;
        mProgress.setProgress(mProgStatus);
        title.setText(R.string.sendingTitle);

    } 
    catch (DocumentException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
    catch (IOException e) 
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
};
  

я получаю эту ошибку:

«Синтаксическая ошибка при попытке токена, удалите этот токен»

как я могу это решить?

Спасибо

Ответ №1:

вы помещаете try в тело класса, а не в какой-либо метод или блок

это больше похоже на

 Runnable SendThread = new Runnable() {
    public void run() {
        try {
            GetAndConvertImagesToPdf();
            mProgStatus = 30;
            mProgress.setProgress(mProgStatus);
            title.setText(R.string.sendingTitle);
        } 
        catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
};
  

Ответ №2:

Извините, я не могу ответить на ваш вопрос, но у меня есть один совет, попробуйте изучить AsyncTask, это поможет вам запустить фоновый поток, и это позволит вам одновременно обновить поток вашего пользовательского интерфейса. однако удачи в вашем текущем вопросе.

ссылка:http://developer.android.com/reference/android/os/AsyncTask.html

Удачного кодирования!