记录做毕业设计遇到的问题和解决方法(持续更新)

  1. idea中明明配置了Tomcat但仍无显示Tomcat
    参考:
      Idea 里明明配置了Tomcat,但是右上角仍然没有Tomcat显示

  1. Android Studio 在res中新建文件夹不显示
    解决方法:
      将显示模式改为 Project 模式。
    参考:
      Android Studio 在res中新建文件夹不显示

  1. 在安卓ConstraintLayout布局中,imageView无法显示
    解决方案:
      首先查看的你的Activity 继承的是那个Activity 如果是继承AppcompatActivity 使用 ImageView的 app:srcCompat 是没有问题的;
      如果你的Activity不是继承的AppcompatActivity, 需要用到 android.support.v7.widget.AppCompatImageView 代替 ImageView。
    参考:
      安卓constraintLayout中app:srcCompat设置的图片显示不出来

  1. 点击按钮后闪退
    解决方案:
      配置AndroidManifest.xml文件,增加activity模块。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.leavesystem">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".activities.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".activities.AdminLoginActivity">
        </activity>

        <activity android:name=".activities.StudentLoginActivity">
        </activity>
        
    </application>
</manifest>

  1. 运行后布局控件堆积到一起
    解决方案:
      ConstraintLayout布局中需要做好约束条件。
    参考:
      约束布局ConstraintLayout看这一篇就够了
      一文看懂ConstraintLayout的用法

  1. Android Studio出现app安装不了的状况

Install failed.
Installation failed
< a href=’ '>Rerun

解决方案:
  简单粗暴,重新配置一个虚拟机。


  1. 将Activity1的数据传给Activity2

在Activity1中:

Intent intent = new Intent(Activity1.this,Activity2.class);
intent.putExtra("id", username.getText().toString());
startActivity(intent);

在Activity2中:

private String ID;
intent = getIntent();
ID = intent.getStringExtra("id");

  1. Android可视化界面布局开发技巧 —— ConstraintLayout使用解析

  1. 使RadioGroup中的RadioButton水平分布处于同一行
    解决方案:
      将要放于一行的RadioButton放于LinearLayout布局中,并且将orientation属性设置为horizontal。
    参考:
      Android 如何排版RadioGroup的RadioButton?

  1. AlertDialog中获取值出现空指针错误
    记录做毕业设计遇到的问题和解决方法(持续更新)_第1张图片
    解决方案:
      在findViewById前加textEntryView。
final EditText code = (EditText)textEntryView.findViewById(R.id.et_rcode_reg);

  1. item项不能被选中
    问题原因:
      行中包含了按钮,按钮抢夺了焦点。
    解决方法:
      夺回焦点,在行布局中设置descendantFocusability。
android:descendantFocusability="blocksDescendants"

  1. 在excel中随机生成人名
    解决方法:
      获取100个常见姓氏以及名字,通过如下公式获取姓氏(100个姓氏存放在L1中);

=MID($L$1,RANDBETWEEN(1,100),1)

  同理,通过如下公式获取第二三个字(名字存放在M1中);

=MID($M$1,RANDBETWEEN(1,100),1)

  通过如下公式随机生成二字或三字姓名(L2存放生成的姓氏,M2和N2存放生成的第二个和第三个名字)。

=MID((L2&M2&N2),1,RANDBETWEEN(2,3))

参考:
   如何在excel中随机生成姓名
   如何使用Excel随机生成手机号码听语音

100个常见姓氏:
李王张刘陈杨赵黄周吴徐孙胡朱高林何郭马罗梁宋郑谢韩唐冯于董萧程曹袁邓许傅沈曾彭吕苏卢蒋蔡贾丁魏薛叶阎余潘杜戴夏钟汪田任姜范方石姚谭廖邹熊金陆郝孔白崔康毛邱秦江史顾侯邵孟龙万段漕钱汤尹黎易常武乔贺赖龚文

常见名字所带的字:
蔼仁容德轩贤良伦正清义诚直道颖灵睿锐哲慧敦迪明晓显悉晰维学思悟析文书勤俊威英健壮焕挺帅秀伟武雄巍松柏山石婵娟姣妯婷姿媚婉丽妩美倩兰达耀兴荣华旺盈丰余昌盛安静顺通坦泰然宁定和康睿浩博瑞昊悦妍涵玥蕊子梓浩宇俊轩宇泽杰豪雨梓欣子思涵萱怡彤琪


  1. 将excel中的数据导入sqlite
    解决方法:
       将excel另存为csv格式;通过记事本打开csv格式文件;另存为并修改编码格式为UTF-8;通过SQLiteExpert工具进行导入。
    参考:
       将Excel表数据导入Sqlite数据库表

  1. RadioGroup下的RadioButton无法实现单选效果
    原因:
       在RadioGroup中嵌套了布局。
    解决方法:
       要想让单选按钮水平分布,只需要在RadioGroup下设置orientation属性为horizontal即可。
android:orientation="horizontal"

  1. 如何获取RadioGroup中RadioButton的值?
private RadioGroup sex;
private RadioButton boy;
private RadioButton girl;
private String sexName;
sex= (RadioGroup) findViewById(R.id.rg_sex);
girl= (RadioButton) findViewById(R.id.rb_girl);
boy= (RadioButton) findViewById(R.id.rb_boy);
sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
	@Override
	public void onCheckedChanged(RadioGroup group, int checkedId) {
		if (boy.getId() == checkedId) {
			sexName = boy.getText().toString();
		} else if (girl.getId() == checkedId) {
			sexName = girl.getText().toString();
		}
	}
});

  1. 在表中插入字段找不到字段名

android.database.sqlite.SQLiteException: table student has no column named sname (code 1): , while compiling:
INSERT student (sno,sname,sex) VALUES (?,?,?)

解决方法:
   将APP卸了重装。
参考:
   错误:adroid.database.sqlite.SQLiteException: table USER has no column named ID (code 1):


  1. getWritableDatabase()出现空指针错误

java.lang.NullPointerException: Attempt to invoke virtual method ‘android.database.sqlite.SQLiteDatabase com.example.leavesystem.databases.MyDatabaseHelper.getWritableDatabase()’ on a null object reference

解决方法:
  在类的开头初始化MyDatabaseHelper 和Intent

    private MyDatabaseHelper dbHelper;
    private Intent intent;

  在onCreate下缺少了如下代码

dbHelper = MyDatabaseHelper.getInstance(this);
intent = getIntent();

  1. 在viewHolder里的setText方法出错:String resource ID #0x1343a

出错代码:

viewHolder.tvsno.setText(student.getSno());

解决方法:

viewHolder.tvsno.setText(Integer.toString(student.getSno()));

参考:
  android NotFoundException: String resource ID #0x1


  1. int类型数据在getIntExtra操作中出错
    解决方法:
Intent intent = getIntent();
int sno= intent.getIntExtra("sno",1);
tvsno.setText(String.valueOf(sno));

  1. setText出现空指针错误

java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSequence)’ on a null object reference

解决方法:
  检查layout是否与控件相对应。
参考:
  void android.widget.TextView.setText(java.lang.CharSequence)’ on a null object reference


  1. 在ViewHolder里的setText方法出错:String resource ID #0x1

android.content.res.Resources$NotFoundException: String resource ID #0x1

解决方法:

viewHolder.tvldays.setText(String.valueOf(history.getLdays()));

原因:
  history.getLdays()是int类型数据。


  1. 最全的Android 颜色透明度

  1. Android按钮美化样式的实现代码

  1. 获取Spiner的值
    参考:
      如何获取Spinner里item的值

(1) 由于数据在view上可以直接从view里面获取

TextView tv_city = (TextView) view.findViewById(R.id.tv_city);
String city = tv_city.getText().toString();

(2) 知道数据的下标可以从数据里面直接获取

String city = citys[position];

(3) 从Spinner身上直接获取

String city = (String) spinner.getSelectedItem();

(3)从adapter获取

String city = adapter.getItem(position);

  1. 返回上一界面,不使用intent跳转
    解决方法:
AdminAddActivity.this.finish();

你可能感兴趣的:(记录做毕业设计遇到的问题和解决方法(持续更新))