奇怪的錯誤-------重新定義一下變數就不報錯了

连师傅只会helloword發表於2024-04-10
 1 package com.lian.mysqldemo2;
 2 
 3 import androidx.appcompat.app.AppCompatActivity;
 4 
 5 import android.os.Bundle;
 6 import android.os.Handler;
 7 import android.text.TextUtils;
 8 import android.view.View;
 9 import android.widget.TextView;
10 
11 import com.lian.mysqldemo2.Dao.DailyDao;
12 import com.lian.mysqldemo2.Dao.UserDao;
13 import com.lian.mysqldemo2.bean.Daily;
14 import com.lian.mysqldemo2.bean.User;
15 
16 import java.util.ArrayList;
17 import java.util.List;
18 
19 public class TeacherShowActivity extends AppCompatActivity {
20     private TextView et_username;
21     private TextView tv_all_data;
22     private DailyDao dailyDao;
23     private Handler mainHandler;
24 
25     private UserDao userDao;//用來獲取當前輸入該學生的stuid,然後透過id在每日總結中進行查詢
26 
27     public TeacherShowActivity() {
28     }
29 
30     @Override
31     protected void onCreate(Bundle savedInstanceState) {
32         super.onCreate(savedInstanceState);
33         setContentView(R.layout.activity_teacher_show);
34         et_username=findViewById(R.id.et_username);
35         tv_all_data=findViewById(R.id.tv_all_data);
36         dailyDao=new DailyDao();
37         userDao=new UserDao();
38         mainHandler=new Handler(getMainLooper());
39 //        new Thread(new Runnable() {
40 //            @Override
41 //            public void run() {
42 //                List<Daily>list=new ArrayList<>();
43 //                list=dailyDao.getAll();
44 //                String result="";
45 //                for(int i=0;i<list.size();i++){
46 //                    User user=userDao.getUserByStuid(list.get(i).getStuid());
47 //                    System.out.println(list.get(i).getStuid());
48 //                    result+="班級:"+user.getDept()+"  學號:"+user.getStuid()+"   姓名:"+user.getUsername()+"    打卡次數:"+"\n";
49 //                }
50 //                tv_all_data.setText(result);
51 //            }
52 //        }).start();
53     }
54     public void btn_show_data(View view){
55         String username=et_username.getText().toString().trim();//獲取到輸入框中的username
56 
57         //如果輸入框中無資料,就查詢daily中的所有資料,如果有資料就進行模糊查詢
58         new Thread(new Runnable() {
59             @Override
60             public void run() {
61 
62                 if(TextUtils.isEmpty(username)){
63 //                    new Thread(new Runnable() {
64 //                        @Override
65 //                        public void run() {
66 //                            List<Daily>list=new ArrayList<>();
67 //                            list=dailyDao.getAll();
68 //                            String result="";
69 //                            for(int i=0;i<list.size();i++){
70 //                                User user=userDao.getUserByStuid(list.get(i).getStuid());
71 //                                System.out.println(list.get(i).getStuid());
72 //                                result+="班級:"+user.getDept()+"  學號:"+user.getStuid()+"   姓名:"+user.getUsername()+"    打卡次數:"+"\n";
73 //                            }
74 //                            tv_all_data.setText(result);
75 //                        }
76 //                    }).start();
77                     List<Daily>list=new ArrayList<>();
78                     list=dailyDao.getAll();
79                     String result="";
80                     for(int i=0;i<list.size();i++){
81                         User user=userDao.getUserByStuid(list.get(i).getStuid());
82                         System.out.println(list.get(i).getStuid());
83                         result+="班級:"+user.getDept()+"  學號:"+user.getStuid()+"   姓名:"+user.getUsername()+"    打卡次數:"+"\n";
84                     }
85                     String finalResult = result;
86                     mainHandler.post(new Runnable() {
87                         @Override
88                         public void run() {
89                             tv_all_data.setText(finalResult);
90                         }
91                     });
92 //                    tv_all_data.setText(result);
93                 }
94 
95             }
96         }).start();
97 
98     }
99 }

這是在安卓開發中遇到的問題:

背景:需要將得到的字串result賦值給前端TextView變數,然後初始程式碼不包括85行,

報錯資訊:

之後新增上85行

然後就不報錯了

目前還不知道是什麼意思,繼續整吧

相關文章