android TabHost(标题不知道怎么写。。。。。。) 1C

package com.lyf.ai.myapplication;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TabHost;

public class MainActivity extends TabActivity implements OnCheckedChangeListener{

/*
    声明全局变量
*/
private TabHost mTabHost;
private Intent mAIntent;
private Intent mBIntent;
private Intent mCIntent;
private Intent mDIntent;
private Intent mEIntent;

/*
    在第一次创建活动时调用。
*/
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //标记为“无标题”功能,在屏幕顶部关闭标题。
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.maintabs);
    //初始化各个tab标签对应的intent
    this.mAIntent = new Intent(this,BiddingInformationActivity.class);
    this.mBIntent = new Intent(this,BActivity.class);
    this.mCIntent = new Intent(this,CActivity.class);
    this.mDIntent = new Intent(this,DActivity.class);
    this.mEIntent = new Intent(this,MoreActivity.class);
    //为RadioGroup设置监听
    ((RadioButton) findViewById(R.id.radio_button0)).setOnCheckedChangeListener(this);
    ((RadioButton) findViewById(R.id.radio_button1)).setOnCheckedChangeListener(this);
    ((RadioButton) findViewById(R.id.radio_button2)).setOnCheckedChangeListener(this);
    ((RadioButton) findViewById(R.id.radio_button3)).setOnCheckedChangeListener(this);
    ((RadioButton) findViewById(R.id.radio_button4)).setOnCheckedChangeListener(this);

    setupIntent();
}

/*
    点击触发事件,
*/
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if(isChecked){
        switch (buttonView.getId()) {
            case R.id.radio_button0:
                this.mTabHost.setCurrentTabByTag("A_TAB");
                break;
            case R.id.radio_button1:
                this.mTabHost.setCurrentTabByTag("B_TAB");
                break;
            case R.id.radio_button2:
                this.mTabHost.setCurrentTabByTag("C_TAB");
                break;
            case R.id.radio_button3:
                this.mTabHost.setCurrentTabByTag("D_TAB");
                break;
            case R.id.radio_button4:
                this.mTabHost.setCurrentTabByTag("MORE_TAB");
                break;
        }
    }

}

/*
     为tabHost添加各个标签项
*/
private void setupIntent() {
    this.mTabHost = getTabHost();
    TabHost localTabHost = this.mTabHost;

    localTabHost.addTab(buildTabSpec("A_TAB", R.string.main_home, R.mipmap.icon_1_n, this.mAIntent));

    localTabHost.addTab(buildTabSpec("B_TAB", R.string.main_news, R.mipmap.icon_2_n, this.mBIntent));

    localTabHost.addTab(buildTabSpec("C_TAB", R.string.main_manage_date, R.mipmap.icon_3_n, this.mCIntent));

    localTabHost.addTab(buildTabSpec("D_TAB", R.string.main_friends, R.mipmap.icon_4_n, this.mDIntent));

    localTabHost.addTab(buildTabSpec("MORE_TAB", R.string.more, R.mipmap.icon_5_n, this.mEIntent));

}

/*
    自定义创建标签项的方法
     @param tag 标签标识
     @param resLabel 标签文字
     @param resIcon 标签图片
*/
private TabHost.TabSpec buildTabSpec(String tag, int resLabel, int resIcon, final Intent content) {
    return this.mTabHost.newTabSpec(tag).setIndicator(getString(resLabel),
            getResources().getDrawable(resIcon)).setContent(content);
}

}
效果图如下:
图片说明

本人新手一 枚,代码看不懂,请求大神解释,或者给参考资料,谢谢大家的帮助!
主要问题有
(1)它是怎么默认开始页面的
(2)如果要跳转一个页面,我又应该怎么学 ,跳转页面后下面的导航栏还要存在

2个回答

TabHost android3.0后就不在建议使用了
现在使用 tablayout+viewpager+fragment 比较多

baidu_35975930
阴鸦 那你有没有tablayout+viewpager+fragment 的例子啊,可以给我看看吗?本人新手一 枚
2 年多之前 回复

你这种情况可以通过Fragment来实现,activity的话太重

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 中 TabHost 的 TabWidget 显示问题

当布局文件是这样的时候: ``` <TabHost xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context="com.smtsokt.activity.MainActivity" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="11" > </FrameLayout> <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal" > </TabWidget> </LinearLayout> </TabHost> ``` 显示为: ![图片说明](https://img-ask.csdn.net/upload/201506/27/1435391886_842844.jpg) TabWidget的宽度改为 wrap_content 时: ``` <TabWidget android:id="@android:id/tabs" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal" > </TabWidget> ``` 显示为: ![图片说明](https://img-ask.csdn.net/upload/201506/27/1435391962_917716.jpg) 我怎样才能让这几个选项卡平铺在下方呢?

tabhost与标题文件布局问题

package com.example.trainticket; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Window; import android.widget.TabHost; public class OrderDemandActivity extends TabActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.orderdemand); // TabHost tabhost=(TabHost)findViewById(R.id.ordertabhost); // tabhost.setup(this.getLocalActivityManager()); TabHost tabhost=getTabHost(); LayoutInflater.from(OrderDemandActivity.this).inflate(R.layout.orderdemand,tabhost.getTabContentView(),true); tabhost.addTab(tabhost.newTabSpec("yiwanchengorder"). setIndicator(LayoutInflater.from(OrderDemandActivity.this). inflate(R.layout.ordercompleted,null)).setContent(R.id.yiwancheng)); tabhost.addTab(tabhost.newTabSpec("noorder"). setIndicator(LayoutInflater.from(OrderDemandActivity.this). inflate(R.layout.orderhanginthe,null)).setContent(R.id.weiwancheng)); } } ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ECECFF" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#0066CC" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="10dp" android:text="@string/ordertitle" android:textColor="@android:color/white" android:textSize="20sp" /> </LinearLayout> <com.example.trainticket.MyScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TabHost android:id="@+id/ordertabhost" android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TabWidget android:id="@+id/ordertabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#C7C7E2" > </TabWidget> <FrameLayout android:id="@+id/ordertabcontent" android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/yiwancheng" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:layout_marginLeft="5dp" android:layout_marginTop="5dp" android:text="@string/ordertime" android:textSize="12sp" /> <TextView android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#E0E0E0" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white" android:orientation="vertical" > <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="2dp" android:paddingLeft="15dp" android:paddingRight="10dp" android:paddingTop="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|left" android:text="@string/ordertoday" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|right" android:background="@drawable/jshop_arrow_right" /> </FrameLayout> <TextView android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_marginLeft="7dp" android:layout_marginRight="7dp" android:background="#E0E0E0" /> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="2dp" android:paddingLeft="15dp" android:paddingRight="10dp" android:paddingTop="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|left" android:text="@string/nogoorder" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|right" android:background="@drawable/jshop_arrow_right" /> </FrameLayout> <TextView android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_marginLeft="7dp" android:layout_marginRight="7dp" android:background="#E0E0E0" /> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="2dp" android:paddingLeft="15dp" android:paddingRight="10dp" android:paddingTop="2dp" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|left" android:text="@string/oldorder" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|right" android:background="@drawable/jshop_arrow_right" /> </FrameLayout> <TextView android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#E0E0E0" /> <TextView android:layout_width="match_parent" android:layout_height="0.5dp" android:background="#E0E0E0" /> </LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/weiwancheng" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="未完成订单(0)" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> </LinearLayout> </com.example.trainticket.MyScrollView> </LinearLayout> ``` ![图片说明](https://img-ask.csdn.net/upload/201509/24/1443067710_838100.png) 我把标题布局放在tabhost上面,结果放到模拟器上,却加载到tabhost里面去了,是不是因为,添加tabhost页面的时候我把整个布局文件,放进去的原因呢?我是想要标题在tabhost上面,该怎么解决,求大神指导!

标签图标为什么不能显示?

我想做一个简单的标签应用,这个标签应用中有两个选项卡。现在的问题是当我在标签应用中加入下面的代码,只显示文本,没有图标。如果我给文本加 "",图标就会显示出来。我用的android版本是4.0.3。 如何修改代码,让图标显示出来呢? <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabWidget android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@android:id/tabs" /> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@android:id/tabcontent" > <LinearLayout android:id="@+id/tab1" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:text="Contenido Tab 1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/tab2" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView2" android:text="Contenido Tab 2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> activity 代码: public class TabTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Resources res = getResources(); TabHost tabs=(TabHost)findViewById(R.id.tabhost); tabs.setup(); TabHost.TabSpec spec=tabs.newTabSpec("mitab1"); spec.setContent(R.id.tab1); spec.setIndicator("sss", res.getDrawable(android.R.drawable.ic_btn_speak_now)); tabs.addTab(spec); spec=tabs.newTabSpec("mitab2"); spec.setContent(R.id.tab2); spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map)); tabs.addTab(spec); tabs.setCurrentTab(0); } 当我添加`spec.setIndicator("", res.getDrawable(android.R.drawable.ic_dialog_map));`,可以看见图标,但是当我添加`spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map));`,我只能看见 TAB2 ,不能看见另一个,看似没有足够的空间来显示这两个选项卡,所以我又添加 `tabs.getTabWidget().getChildAt(1).getLayoutParams().height = 150;` 来增加选项卡的高度,还是没有管用。

TabHost标签切换文字颜色改变问题

各位大神,小弟在做TabHost标签切换事件的时候,实现了标签切换的时候图片背景编号,可是标题的颜色改变不了,获取的title也为null,看了很多资料获取标题是同样的方法,为什么我获取的就是为null,没搞清楚,具体参见代码 ![图片说明](https://img-ask.csdn.net/upload/201707/15/1500083664_61736.png)

自学Android开发 在模拟器运行闪退

初学者自写的程序 ,但是在模拟器下运行闪退!!该怎么改呀?? package com.example.work3; import java.util.ArrayList; import java.util.List; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.TabActivity; import android.content.DialogInterface; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.StrictMode; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.Spinner; import android.widget.TabHost; import android.widget.TextView; import android.os.Build; public class MainActivity extends TabActivity { private TabHost tabhost; private ListView listview; private ArrayAdapter<String> arr_adapter; private Spinner spinner; private List<String>list; private ArrayAdapter<String> adapter; private EditText et1,et2; private Button bt; String name; String value; String style; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); et1=(EditText) findViewById(R.id.editText1); et2=(EditText) findViewById(R.id.editText2); bt=(Button) findViewById(R.id.button1); setContentView(R.layout.activity_main); tabhost=getTabHost(); tabhost.addTab(tabhost.newTabSpec("菜单一").setIndicator("首页").setContent(R.id.tab1)); tabhost.addTab(tabhost.newTabSpec("菜单二").setIndicator("新增").setContent(R.id.tab2)); tabhost.addTab(tabhost.newTabSpec("菜单三").setIndicator("账单").setContent(R.id.tab3)); //按钮监听 提取信息 bt.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub name = et1.getText().toString(); value = et2.getText().toString(); style = spinner.getSelectedItem().toString(); } }); listview = (ListView) findViewById(R.id.listview); //新建适配器 String[]arr_data={"数据1","数据2","数据3","数据4","数据5"}; //ArrayAdapter(上下文,当前ListView加载的每一个列表项所对应的布局文件,数据源) arr_adapter =new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arr_data); listview.setAdapter(arr_adapter); spinner=(Spinner) findViewById(R.id.spinner); //数据源 String[]list = {"1.日常食品支出","2.人情世故支出","3.出差旅游支出","4.服饰鞋帽支出","5.生活用品支出","6.其他支出"}; //新建适配器 adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); //设置下拉样式 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //加载适配器 spinner.setAdapter(adapter); } //退出对话框 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK ) { // 创建退出对话框 AlertDialog isExit = new AlertDialog.Builder(this).create(); // 设置对话框标题 isExit.setTitle("系统提示"); // 设置对话框消息 isExit.setMessage("确定要退出吗"); // 添加选择按钮并注册监听 isExit.setButton("确定", listener); isExit.setButton2("取消", listener); // 显示对话框 isExit.show(); } return false; } /**监听对话框里面的button点击事件*/ DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { switch (which) { case AlertDialog.BUTTON_POSITIVE:// "确认"按钮退出程序 finish(); break; case AlertDialog.BUTTON_NEGATIVE:// "取消"第二个按钮取消对话框 break; default: break; } } }; }

如何修改在TabActivity里一个Tab的标题

我在 TabActivity 底部设置了 tabs,由下面的几个不同的 activity 组成 public class HomeScreen extends TabActivity { private TabHost mTabHost; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); try{ setContentView(R.layout.hometabs); Resources res = getResources(); // Resource object to get Drawables mTabHost = getTabHost(); // The activity TabHost TabHost.TabSpec spec; // Reusable TabSpec for each tab Intent intent; // Reusable Intent for each tab String strName; // Create an Intent to launch an Activity for the tab (to be reused) strName=Central.Res.getString(R.string.tab_Books); intent = new Intent().setClass(this, BookList.class); spec = mTabHost.newTabSpec(strName).setIndicator("", res.getDrawable(R.drawable.ic_menu_database)) .setContent(intent); mTabHost.addTab(spec); // Create an Intent to launch an Activity for the tab (to be reused) strName=Central.Res.getString(R.string.tab_Questions); intent = new Intent().setClass(this, QuestionsList.class); intent.putExtra("NoteType", UserDataSQLHelper.NOTE_TYPE_QUEST ); spec = mTabHost.newTabSpec(strName).setIndicator("", res.getDrawable(R.drawable.ic_menu_dialog)) .setContent(intent); mTabHost.addTab(spec); 问题是对于每一个tab都有同样的窗口标题。窗口标题显示的是应用程序的名字,我想要把窗口标题名字换成tab的名字。我试着通过调用相应的onCreate()方法里面的`setTitle("MyTitle")`;这个方法来实现,并且重写`TabActivity onChildTitleChanged:` public void onChildTitleChanged(Activity childActivity, CharSequence title) { View tabView = mTabHost.getCurrentTabView(); int idTitle = android.R.id.title; TextView tvTitle = (TextView) tabView.findViewById(idTitle); tvTitle.setText(title); } 但是结果不是这样的,它在 Tab 图标下面给 Tab 设置了 text。 请大家帮忙指点。

hi 问几个android开发的问题

hi 问几个问题 1. 如果在ProgressBar上显示数字,是否原生支持 2. 我有个下载的业务 在一个Activity中点下载的同时可以在另外一个Activity中显示现在进度: 我直接诶在Activity中new Thread来作的,这样好不好的,一般时用什么方法作? 这样性能是否过得去 看我红色标题部分,我是通过Thread while true, 3. 我在已下载完毕的文件图标上放个勾勾,这个是图片合成作的,还是用android提供的工具做的? [code="java"] /** * */ package com.alibaba.cloudspace; import java.util.ArrayList; import java.util.List; import android.app.TabActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.GestureDetector; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.widget.ListView; import android.widget.TabHost; import android.widget.TextView; import android.widget.TabHost.OnTabChangeListener; public class TransStatusActivity extends TabActivity implements OnTabChangeListener { private GestureDetector gestureDetector; private UpdateProgressBarHandler progressBarHandler; private UpdateDownloadFilesHandler downloadFilesHandler; private ProgressBarListAdapter adapter = null; private DownloadCompleteListAdapter downloadCompleteAdapter = null; private ListView listView = null; private ListView listView2 = null; private TabHost transTabhost; private final String[] TAB_IDS = new String[] { "TRANS_TAB1", "TRANS_TAB2" }; private static FileMap DOWNLOAD_FILES = new FileMap(); private String email = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // TODO Get email. // email = getIntent().getExtras().getString(""); gestureDetector = new GestureDetector(this, new CLGestureDetector(this)); transTabhost = this.getTabHost(); LayoutInflater.from(this).inflate(R.layout.trans_status, transTabhost.getTabContentView(), true); transTabhost.addTab(transTabhost.newTabSpec(TAB_IDS[0]).setIndicator( createTabTextView(R.string.app_text_transfer)).setContent(R.id.transfer_tab)); transTabhost.addTab(transTabhost.newTabSpec(TAB_IDS[1]).setIndicator( createTabTextView(R.string.app_text_transfer_finish)).setContent( R.id.transfer_finish_tab)); // TODO 载入未完成的下载列表 progressBarHandler = new UpdateProgressBarHandler(); downloadFilesHandler = new UpdateDownloadFilesHandler(); adapter = new ProgressBarListAdapter(this, getTransStatusList()); listView = (ListView) findViewById(R.id.trans_status_list); listView.setAdapter(adapter); [color=red][b] new UpdateProgressBarThread().start(); new UpdateDownloadFileListThread().start();[/b][/color] downloadCompleteAdapter = new DownloadCompleteListAdapter(this, DOWNLOAD_FILES.get(email)); listView2 = (ListView) findViewById(R.id.download_complete_list); listView2.setAdapter(downloadCompleteAdapter); transTabhost.setOnTabChangedListener(this); } 。。。。 private List<TransStatus> getTransStatusList() { List<TransStatus> transStatus = new ArrayList<TransStatus>(); for (int i = 0; i < FileListActivity.downloading.size(); i++) { FileDownloaderTask t = FileListActivity.downloading.get(i); if (t.isCompleted()) { DOWNLOAD_FILES.add(email, t.getFile()); downloadFilesHandler.sendMessage(new Message()); FileListActivity.downloading.remove(i--); continue; } TransStatus s = new TransStatus(); s.setFid(t.getFile().getNodeId()); s.setTitle(t.getFile().getFileName()); s.setPercent(t.getPercent()); Log.d("DEBUG-TRANS-STATUS", "Percent:" + s.getPercent() + ", has read:" + t.getHasReadSize() + ", full size:" + t.getFile().getFullSize()); transStatus.add(s); } return transStatus; } class UpdateProgressBarThread extends Thread { public void run() { while (true) { Message msg = new Message(); try { Thread.sleep(100); } catch (InterruptedException e) { } progressBarHandler.sendMessage(msg); int i = 0; for (FileDownloaderTask f : FileListActivity.downloading) { if (f.isCompleted()) i++; } Log.e("", "Completed:" + i + ", downloading size:" + FileListActivity.downloading.size()); if (i >= FileListActivity.downloading.size()) break; } }; } class UpdateDownloadFileListThread extends Thread { public void run() { Message msg = new Message(); try { Thread.sleep(100); } catch (InterruptedException e) { } downloadFilesHandler.sendMessage(msg); }; } class UpdateProgressBarHandler extends Handler { @Override public void handleMessage(Message msg) { adapter = new ProgressBarListAdapter(TransStatusActivity.this, getTransStatusList()); listView = (ListView) findViewById(R.id.trans_status_list); listView.setAdapter(adapter); } } class UpdateDownloadFilesHandler extends Handler { @Override public void handleMessage(Message msg) { downloadCompleteAdapter = new DownloadCompleteListAdapter(TransStatusActivity.this, DOWNLOAD_FILES.get(email)); listView2 = (ListView) findViewById(R.id.download_complete_list); listView2.setAdapter(downloadCompleteAdapter); } } @Override public void onTabChanged(String tabId) { } private TextView createTabTextView(int rid) { TextView txtTabInfo = new TextView(this); txtTabInfo.setText(getResources().getString(rid)); txtTabInfo.setPadding(0, 5, 0, 0); txtTabInfo.setTextSize(11); txtTabInfo.setBackgroundResource(R.drawable.tab_normal); txtTabInfo.setTextColor(Color.DKGRAY); txtTabInfo.setGravity(Gravity.CENTER); txtTabInfo.setHeight(39); return txtTabInfo; } } [/code]

求大神看一下哪里错了,急急急急

<TabHost xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" tools:ignore="HardcodedText" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" /> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" android:visibility="gone" /> <RadioGroup android:id="@+id/rg_bottom" android:layout_width="match_parent" android:layout_height="40dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:gravity="center" android:orientation="horizontal" > <RadioButton android:id="@+id/shouYe" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:button="@null" android:checked="true" android:drawableBottom="@drawable/select_shouye" android:textColor="#ffffffff" /> <RadioButton android:id="@+id/sheQuZhuanTi" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableBottom="@drawable/select_sqzhuanti" android:gravity="center" android:textColor="#ffffffff" /> <RadioButton android:id="@+id/sheQuFengCai" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableBottom="@drawable/select_sqfengcai" android:gravity="center" android:textColor="#ffffffff" /> <RadioButton android:id="@+id/woDeSheQu" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:button="@null" android:drawableBottom="@drawable/select_mysq" android:gravity="center" android:textColor="#ffffffff" /> </RadioGroup> </LinearLayout> </TabHost> ``` package caifu.life.ZhSQ; import android.app.TabActivity; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; import android.view.Window; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TabHost; import android.widget.TabWidget; import android.widget.Toast; public class MainActivity extends TabActivity { // 退出程序的量 private long exitTime = 0; public static TabHost mTabHost; public static TabHost getmTabHost() { return mTabHost; } private RadioGroup gr_bottom; private RadioButton tab_shouYe, tab_zuanTi, tab_fengCai,tab_mine; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //不要窗口标题 requestWindowFeature(Window.FEATURE_NO_TITLE); mTabHost = getTabHost(); final TabWidget tabWidget = mTabHost.getTabWidget(); tabWidget.setStripEnabled(false);// 圆角边线不启用 //添加n个tab选项卡,定义他们的tab名,指示名,目标屏对应的类 mTabHost.addTab(mTabHost.newTabSpec("shouye").setIndicator("0") .setContent(new Intent(this, ShouYeActivity.class))); mTabHost.addTab(mTabHost.newTabSpec("zuanti").setIndicator("1") .setContent(new Intent(this, ZhuanTiActivity.class))); mTabHost.addTab(mTabHost.newTabSpec("fengcai").setIndicator("2") .setContent(new Intent(this, FengCaiActivity.class))); mTabHost.addTab(mTabHost.newTabSpec("mine").setIndicator("3") .setContent(new Intent(this, MineActivity.class))); gr_bottom = (RadioGroup)findViewById(R.id.rg_bottom); tab_shouYe = (RadioButton)findViewById(R.id.shouYe); tab_zuanTi = (RadioButton)findViewById(R.id.sheQuZhuanTi); tab_fengCai = (RadioButton)findViewById(R.id.sheQuFengCai); tab_mine = (RadioButton)findViewById(R.id.woDeSheQu); gr_bottom.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int id) { if (id == tab_shouYe.getId()) { mTabHost.setCurrentTab(0); } else if (id == tab_zuanTi.getId()) { mTabHost.setCurrentTab(1); } else if (id == tab_fengCai.getId()) { mTabHost.setCurrentTab(2); } else if (id == tab_mine.getId()) { mTabHost.setCurrentTab(3); } } }); //设置当前显示哪个标签 mTabHost.setCurrentTab(0); } // 再按一次退出程序 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); // 返回桌面操作 Intent home = new Intent(Intent.ACTION_MAIN); home.addCategory(Intent.CATEGORY_HOME); startActivity(home); } return true; } return super.onKeyDown(keyCode, event); } } 求大神看一下哪里错了 ``` Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'爆这个错

android 为啥父类不闪退,但我重新写了个子类后,程序闪退?

求教各位大神,下面的是我的一个ViewPager的安卓小程序,如大家所见现在这个android代码是能正常运行的,但当我将代码中所有父类 ”ViewPager“ 换成 子类 ”NoScrollViewPager“ 后,程序一打开就闪退。。。 为啥换了个子类就会闪退啊。。。 package com.example.testviewpagerandtabhost; public class MainActivity extends Activity { Context context = null; LocalActivityManager manager = null; ViewPager pager = null; TabHost tabHost = null; TextView t1,t2,t3; private int offset = 0;// 动画图片偏移量 private int currIndex = 0;// 当前页卡编号 private int bmpW;// 动画图片宽度 private ImageView cursor;// 动画图片 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context = MainActivity.this; manager = new LocalActivityManager(this , true); manager.dispatchCreate(savedInstanceState); InitImageView(); initTextView(); initPagerViewer(); } /** * 初始化标题 */ private void initTextView() { t1 = (TextView) findViewById(R.id.text1); t2 = (TextView) findViewById(R.id.text2); t3 = (TextView) findViewById(R.id.text3); t1.setOnClickListener(new MyOnClickListener(0)); t2.setOnClickListener(new MyOnClickListener(1)); t3.setOnClickListener(new MyOnClickListener(2)); } /** * 初始化PageViewer */ private void initPagerViewer() { pager = ((ViewPager) findViewById(R.id.viewpage)); final ArrayList<View> list = new ArrayList<View>(); Intent intent = new Intent(context, A.class); list.add(getView("A", intent)); Intent intent2 = new Intent(context, B.class); list.add(getView("B", intent2)); Intent intent3 = new Intent(context, C.class); list.add(getView("C", intent3)); pager.setAdapter(new MyPagerAdapter(list)); pager.setCurrentItem(0); pager.setOnPageChangeListener(new MyOnPageChangeListener()); } /** * 初始化动画 */ private void InitImageView() { cursor = (ImageView) findViewById(R.id.cursor); bmpW = BitmapFactory.decodeResource(getResources(), R.drawable.roller) .getWidth();// 获取图片宽度 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenW = dm.widthPixels;// 获取分辨率宽度 offset = (screenW / 3 - bmpW) / 2;// 计算偏移量 Matrix matrix = new Matrix(); matrix.postTranslate(offset, 0); cursor.setImageMatrix(matrix);// 设置动画初始位置 } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } /** * 通过activity获取视图 * @param id * @param intent * @return */ private View getView(String id, Intent intent) { return manager.startActivity(id, intent).getDecorView(); } /** * Pager适配器 */ public class MyPagerAdapter extends PagerAdapter{ List<View> list = new ArrayList<View>(); public MyPagerAdapter(ArrayList<View> list) { this.list = list; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ViewPager pViewPager = ((ViewPager) container); pViewPager.removeView(list.get(position)); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getCount() { return list.size(); } @Override public Object instantiateItem(View arg0, int arg1) { ViewPager pViewPager = ((ViewPager) arg0); pViewPager.addView(list.get(arg1)); return list.get(arg1); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { } @Override public Parcelable saveState() { return null; } @Override public void startUpdate(View arg0) { } } /** * 页卡切换监听 */ public class MyOnPageChangeListener implements OnPageChangeListener { int one = offset * 2 + bmpW;// 页卡1 -> 页卡2 偏移量 int two = one * 2;// 页卡1 -> 页卡3 偏移量 @Override public void onPageSelected(int arg0) { Animation animation = null; switch (arg0) { case 0: if (currIndex == 1) { animation = new TranslateAnimation(one, 0, 0, 0); } else if (currIndex == 2) { animation = new TranslateAnimation(two, 0, 0, 0); } break; case 1: if (currIndex == 0) { animation = new TranslateAnimation(0, one, 0, 0); } else if (currIndex == 2) { animation = new TranslateAnimation(two, one, 0, 0); } break; case 2: if (currIndex == 0) { animation = new TranslateAnimation(0, two, 0, 0); } else if (currIndex == 1) { animation = new TranslateAnimation(one, two, 0, 0); } break; } currIndex = arg0; animation.setFillAfter(true);// True:图片停在动画结束位置 animation.setDuration(300); cursor.startAnimation(animation); } @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } } /** * 头标点击监听 */ public class MyOnClickListener implements View.OnClickListener { private int index = 0; public MyOnClickListener(int i) { index = i; } @Override public void onClick(View v) { pager.setCurrentItem(index); } }; public class NoScrollViewPager extends ViewPager { public NoScrollViewPager(Context context) { super(context); // TODO 自动生成的构造函数存根 } private boolean noScroll = false; public void setNoScroll(boolean noScroll) { this.noScroll = noScroll; } @Override public void scrollTo(int x, int y) { super.scrollTo(x, y); } @Override public boolean onTouchEvent(MotionEvent arg0) { /* return false;//super.onTouchEvent(arg0); */ if (noScroll) return false; else return super.onTouchEvent(arg0); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (noScroll) return false; else return super.onInterceptTouchEvent(arg0); } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item); } } }

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

阿里面试官让我用Zk(Zookeeper)实现分布式锁

他可能没想到,我当场手写出来了

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

​能让德国人放弃现金支付​,也没谁了

在新冠疫情中,德国人越来越多地选择在超市,加油站或其他商店付款时使用非接触式付款方式。德国信贷协会Deutschen Kreditwirtschaft (DK) 的一位发言人告诉德国新...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

2020春招面试了10多家大厂,我把问烂了的数据库事务知识点总结了一下

2020年截止目前,我面试了阿里巴巴、腾讯、美团、拼多多、京东、快手等互联网大厂。我发现数据库事务在面试中出现的次数非常多。

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

立即提问
相关内容推荐