使用LinearLayout.getChildAt(i)获取一个线性布局的view,并实现content中实现方法

1、定义接口content的方法,如ok,cancle;
2、在View的处理类myview中实现content的方法。
3、通过contently.getChildAt(i)的方法获得View v;
4、可以使用 content ct = (content)v;
5、使用ct.ok()和ct.cancel();
代码如下:
ll = (LinearLayout) findViewById(R.id.contently);
btncancle = (Button) findViewById(R.id.buttoncancel);
btnok = (Button) findViewById(R.id.buttonok);
View view = (View) ll.getChildAt(0);
Toast.makeText(getApplicationContext(),String.valueOf(view.getId()) , Toast.LENGTH_LONG).show();
final myview mv=(myview)view;//这里也无法运行
//content ct=(content)view;也不行
// Toast.makeText(getApplicationContext(),ct.getClass().toString() , Toast.LENGTH_LONG).show();
btncancel.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

// ct.cancel();
mv.cancel();
}
});
btnok.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

// ct.ok();
mv.ok();
}
});
}

public class myview extends View implements content{

    public myview(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }
    public myview(Context context,AttributeSet attr){
        super(context,attr); 
    }
    @Override
    public void cancle() {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(),"cancel" , Toast.LENGTH_LONG).show();
    }

    @Override
    public void ok() {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(),"ok", Toast.LENGTH_LONG).show();
    }

}
public interface content {
public void ok();
public void cancel();
}

2个回答

随便取个名字做一个 xml 文件 放在 layout 文件夹 也就是和 activity_main.xml 同级目录 把它们加上 外层 要加布局的 不加也可以 在java里addView 网上有的是

android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:textSize="50dp"
android:textColor="#f00"
android:id="@+id/text" />

在你的 activity_main.xml 把 下面添加 上

动态添加处 不是动态添加的也可以 只要你能明确的知道你 要操作第几行 或第几列

android:animateLayoutChanges="true"
android:id="@+id/tianjiachu"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0px">

</LinearLayout>

按键 是button 还是 TextView 不是问题 问题是 android:onClick="anjian" android:id="@+id/xxx"

    <TextView
        android:onClick="anjian"
        android:id="@+id/xxx"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:textColor="@color/baise"
        android:text="测试"
        android:textSize="20dp"/>

    <TextView
        android:onClick="anjian"
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:textColor="@color/baise"
        android:text="添加"
        android:textSize="20dp"/>

在 java Activity 里 动态添加

int a = 0;
private void tianjia() {
LinearLayout tianjiachu = (LinearLayout)findViewById(R.id.tianjiachu);
View view = LayoutInflater.from(this).inflate(R.layout.你XML文件取得名字,null,false );
TextView text = (TextView)view.findViewById(R.id.text);
text.setText("ID"+a);
a++;
}

public void anjian(View v) {
switch (v.getId()) {
case R.id.add: tianjia();
break;
case R.id.xxx:
LinearLayout XX = (LinearLayout)findViewById(R.id.tianjiachu); //先找到 你要操作的 布局文件

View cccccccccccc =XX.getChildAt(99999999999); //99999999999 你想改变 第几行 或者列 或者删除 随便你 不过你得有id ID相同不是问题

                               TextView text = (TextView)cccccccccccc.findViewById(R.id.text);


                                text.setText("行不行啊");
            break;

}
这应该是最简单的 动态添加操作了 也应该是 最简单的 编写了 至于怎么知道自己要操作 第几行 第几列 ?

**我这个方法是用来 滑动分页 的 HorizontalScrollView + LinearLayout 实现滑动分页 **

好了 不扯了 博主的 xxxxxxxxx.getChildAt(00000000000000000000000000000) 给了我最大的帮助 在此先谢过了

代码 发上来大变样了 呵呵 凑活着看吧 应该能看懂了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android ListView mListView.getChildAt(i)为空,求怎么解决?
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int position, long id) { for (int i = 0; i < mListView.getCount(); i++) { View callLogView = mListView.getChildAt(i); mRelativeLayout = (LinearLayout)callLogView.findViewById(R.id.myShow); if(i == position){ if(mRelativeLayout.getVisibility() == View.GONE){ mRelativeLayout.setVisibility(View.VISIBLE); } else{ mRelativeLayout.setVisibility(View.GONE); } }else{ mRelativeLayout.setVisibility(View.GONE); } } } }); 如题,代码以附上,我现在想做的事是在点击一项ListView后显示出一个布局,而其它项的ListView隐藏,但在超过 mListView.getChildCount()后会出现空指针,求解!
NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHelper;
最近想买一直报这个问题 希望有大神帮我解决一下 导致崩溃 在多种地方都会显示这个错误 也没有提示哪行带拿错了 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHelper; at android.support.v7.widget.DefaultItemAnimator.resetAnimation(DefaultItemAnimator.java:515) at android.support.v7.widget.DefaultItemAnimator.animateAdd(DefaultItemAnimator.java:218) at android.support.v7.widget.SimpleItemAnimator.animateAppearance(SimpleItemAnimator.java:114) at android.support.v7.widget.RecyclerView.animateAppearance(RecyclerView.java:3804) at android.support.v7.widget.RecyclerView$4.processAppeared(RecyclerView.java:521) at android.support.v7.widget.ViewInfoStore.process(ViewInfoStore.java:247) at android.support.v7.widget.RecyclerView.dispatchLayoutStep3(RecyclerView.java:3653) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3323) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3844) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1732) at android.widget.LinearLayout.onLayout(LinearLayout.java:1497) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2727) at android.view.View.layout(View.java:16673) at android.view.ViewGroup.layout(ViewGroup.java:5476) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2304) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2033) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1209) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6330) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:862) at android.view.Choreographer.doCallbacks(Choreographer.java:674) at android.view.Choreographer.doFrame(Choreographer.java:610) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:848) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loo
Android adapter中嵌套adapter API19报错
ListView嵌套了GridView但是在ListView的Adapter中给GreidView设置adapter时会抛出异常,API19。手里还有一版API24正常运行。 报错日志 /AndroidRuntime: FATAL EXCEPTION: main Process: com.unicom.domain, PID: 9100 java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams at android.widget.GridView.onMeasure(GridView.java:1046) at android.view.View.measure(View.java:16497) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16497) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) at android.view.View.measure(View.java:16497) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1034) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16497) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16497) at android.widget.ListView.setupChild(ListView.java:1870) at android.widget.ListView.makeAndAddView(ListView.java:1793) at android.widget.ListView.fillDown(ListView.java:691) at android.widget.ListView.fillFromTop(ListView.java:752) at android.widget.ListView.layoutChildren(ListView.java:1630) at android.widget.AbsListView.onLayout(AbsListView.java:2091) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2011) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1768) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1024) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5694) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer. ![图片说明](https://img-ask.csdn.net/upload/201801/23/1516687315_453300.png)
Fragment如何实现下面Tab图标的小气泡?
我用Fragment动态加载的方法 public class MainActivity extends FragmentActivity { tabHost = (TabHost) findViewById(android.R.id.tabhost); tabWidget = (TabWidget) findViewById(android.R.id.tabs); LinearLayout layout = (LinearLayout)tabHost.getChildAt(0); TabWidget tw = (TabWidget)layout.getChildAt(1); tabIndicator1 = (LinearLayout) LayoutInflater.from(this) .inflate(R.layout.tab_indicator, tw, false); TextView tvTab1 = (TextView)tabIndicator1.getChildAt(1); ImageView ivTab1 = (ImageView)tabIndicator1.getChildAt(0); ivTab1.setBackgroundResource(R.drawable.selector_mood_home); tvTab1.setText(R.string.buttom_home); } 请问如何实现 ImageView ivTab1 冒小气泡(类似购物车上红色的小数字)的效果?
editView 搜索listview更新
ava.lang.ArrayIndexOutOfBoundsException: length=2; index=2 at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:7374) at android.widget.ListView.layoutChildren(ListView.java:1730) at android.widget.AbsListView.onLayout(AbsListView.java:2348) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813) at android.widget.LinearLayout.onLayout(LinearLayout.java:1722) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639) at android.widget.FrameLayout.onLayout(FrameLayout.java:574) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813) at android.widget.LinearLayout.onLayout(LinearLayout.java:1722) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639) at android.widget.FrameLayout.onLayout(FrameLayout.java:574) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813) at android.widget.LinearLayout.onLayout(LinearLayout.java:1722) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639) at android.widget.FrameLayout.onLayout(FrameLayout.java:574) at android.view.View.layout(View.java:16104) at android.view.ViewGroup.layout(ViewGroup.java:5185) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2606) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2290) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1338) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6799) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:822) at android.view.Choreographer.doCallbacks(Choreographer.java:619) at android.view.Choreographer.doFrame(Choreographer.java:588) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:808) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194)
关于java.lang.ClassCastException的问题 求大神解答 错误日志贴上 谢谢了
FATAL EXCEPTION: main Process: com.example.fxr.myapplication, PID: 10943 java.lang.ClassCastException: com.example.fxr.myapplication.friends_top cannot be cast to android.support.v4.app.Fragment at com.example.fxr.myapplication.messagetop$1.getItem(messagetop.java:54) at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:101) at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1006) at android.support.v4.view.ViewPager.populate(ViewPager.java:1154) at android.support.v4.view.ViewPager.populate(ViewPager.java:1088) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614) at android.view.View.measure(View.java:16514) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16514) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1052) at android.widget.LinearLayout.onMeasure(LinearLayout.java:590) at android.view.View.measure(View.java:16514) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:16514) at android.widget.LinearLayout.measureVertical(LinearLayout.java:847) at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) at android.view.View.measure(View.java:16514) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:16514) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) at android.view.View.measure(View.java:16514) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291) at android.view.View.measure(View.java:16514) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1912) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1109) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1291) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer.doFrame(Choreographer.java:544) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5095) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(Native Method)
设置布局的水平垂直中心
在XML布局文件中有`scrollview` <ScrollView android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" > </ScrollView> 需要一个textView到ScrollView中心来。 我试过设置水平居中,但是垂直向上。我想都水平和垂直都居中。 LinearLayout l1 = new LinearLayout(getActivity()); l1.setOrientation(LinearLayout.VERTICAL); l1.setGravity(Gravity.CENTER); l1.setBackgroundColor(Color.WHITE); TextView errorView = new TextView(getActivity()); LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); errorView.setText("TextView"); errorView.setTextColor(Color.BLACK); errorView.setLayoutParams(params); errorView.setGravity(Gravity.CENTER); l1.addView(errorView); scrollViewCon.addView(l1, lparams);
向线性布局中动态添加textview出现闪退,代码如下,这是什么原因??
protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub switch (requestCode) { case 1: if(resultCode==RESULT_OK){ personalNumber=data.getStringExtra("personal"); allow=1; Log.d("TestActivity", personalNumber); linearToLogin = (LinearLayout) findViewById(R.id.ll_to_login); TextView firstTextView=new TextView(this); firstTextView.setText("尊敬的: "+personalNumber); firstTextView.setTextSize(16); firstTextView.setGravity(Gravity.CENTER_HORIZONTAL); LinearLayout.LayoutParams view01Params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); ((ViewGroup) firstTextView.getParent()).removeView(firstTextView); linearToLogin.addView(firstTextView,view01Params); TextView welcomeTextView=new TextView(this); welcomeTextView.setText("欢迎使用畅心停车"); welcomeTextView.setTextSize(16); welcomeTextView.setGravity(Gravity.CENTER_HORIZONTAL); LinearLayout.LayoutParams view02Params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); ((ViewGroup) welcomeTextView.getParent()).removeView(welcomeTextView); linearToLogin.addView(firstTextView,view02Params); Log.d("TestActivity布局", "填加完成"); } break; default: break; } 这是logcat _![图片说明](https://img-ask.csdn.net/upload/201607/16/1468639402_55709.png)
android Leaks内存泄漏的结果显示Linearlayout.mContext泄漏?
![图片说明](https://img-ask.csdn.net/upload/201702/17/1487303486_410039.png) 请问这是什么意思?难道是sdk内存泄漏了?
Android-编程放置LinearLayout
在应用中创建一个布局,如下: `main_layout`(`FrameLayout`, 填满整个屏幕) 其中包括:`main_interface` (`LinearLayout`, 高度和宽度填满父视图) 现在我想要在 **main_layout** 中添加另一个 **LinearLayout** ,放在main_interface之前。 试过: LinearLayout bar = new LinearLayout(this); bar.setGravity(Gravity.TOP); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); bar.setLayoutParams(params); main_layout.addView(bar); 但是这样覆盖了原来的`main_interface`。 这该怎么办?
android listview 数据显示bug,帮忙看一下?
应用情景是这样的,点击底部选项卡,每个选项卡都会刷新listview,如果慢的点击一般不会出现异常,如果快速点击就会报异常,不知道什么原因,有的时候还会报这个异常:java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1343) at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1354) 还有这个异常: java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread.​ 还有这个异常: java.lang.IndexOutOfBoundsException: Invalid index 2, size is 1 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251) at java.util.ArrayList.get(ArrayList.java:304) at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225) at android.widget.AbsListView.obtainView(AbsListView.java:2260) at android.widget.ListView.makeAndAddView(ListView.java:1769) at android.widget.ListView.fillDown(ListView.java:672) at android.widget.ListView.fillSpecific(ListView.java:1330) at android.widget.ListView.layoutChildren(ListView.java:1600) at android.widget.AbsListView.onLayout(AbsListView.java:2111) at android.view.View.layout(View.java:13775) at android.view.ViewGroup.layout(ViewGroup.java:4364) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507) at android.widget.LinearLayout.onLayout(LinearLayout.java:1420) at android.view.View.layout(View.java:13775) at android.view.ViewGroup.layout(ViewGroup.java:4364) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:13775) at android.view.ViewGroup.layout(ViewGroup.java:4364) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:13775) at android.view.ViewGroup.layout(ViewGroup.java:4364) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507) at android.widget.LinearLayout.onLayout(LinearLayout.java:1420) at android.view.View.layout(View.java:13775) at android.view.ViewGroup.layout(ViewGroup.java:4364) at android.widget.FrameLayout.onLayout(FrameLayout.java:448) at android.view.View.layout(View.java:13775)
android studio中关于v4包的问题?
**这是错误提示:** 错误: 对于add(int,ChatFragment), 找不到合适的方法 方法 FragmentTransaction.add(Fragment,String)不适用 (参数不匹配; int无法转换为Fragment) 方法 FragmentTransaction.add(int,Fragment)不适用 (参数不匹配; ChatFragment无法转换为Fragment) ![图片说明](https://img-ask.csdn.net/upload/202002/19/1582089418_48233.png) **代码图片** ![图片说明](https://img-ask.csdn.net/upload/202002/19/1582089670_644370.png) ![图片说明](https://img-ask.csdn.net/upload/202002/19/1582089596_474211.png) ![图片说明](https://img-ask.csdn.net/upload/202002/19/1582089602_315981.png) ** 下面是代码** ``` package com.uitest.administrator.shoulderby.activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.KeyEvent; import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.uitest.administrator.shoulderby.R; import com.uitest.administrator.shoulderby.fragment.HomeFragment; import com.uitest.administrator.shoulderby.fragment.JobFragment; import com.uitest.administrator.shoulderby.fragment.MeFragment; import com.uitest.administrator.shoulderby.fragment.ChatFragment; import butterknife.Bind; import butterknife.ButterKnife; import butterknife.OnClick; /* 主界面 */ public class MainActivity extends FragmentActivity { @Bind(R.id.fl_main_content) FrameLayout flMainContent; @Bind(R.id.iv_main_home) ImageView ivMainHome; @Bind(R.id.tv_main_home) TextView tvMainHome; @Bind(R.id.ll_main_home) LinearLayout llMainHome; @Bind(R.id.iv_main_job) ImageView ivMainJob; @Bind(R.id.tv_main_job) TextView tvMainJob; @Bind(R.id.ll_main_job) LinearLayout llMainJob; @Bind(R.id.iv_main_me) ImageView ivMainMe; @Bind(R.id.tv_main_me) TextView tvMainMe; @Bind(R.id.ll_main_me) LinearLayout llMainMe; @Bind(R.id.iv_main_chat) ImageView ivMainChat; @Bind(R.id.tv_main_chat) TextView tvMainChat; @Bind(R.id.ll_main_chat) LinearLayout llMainChat; private FragmentManager fragmentManager; private HomeFragment homeFragment; private MeFragment meFragment; private ChatFragment chatFragment; private JobFragment jobFragment; private FragmentTransaction transaction; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); //初始化HOME界面,默认进入软件是HOME界面 fragmentManager=getSupportFragmentManager(); transaction = fragmentManager.beginTransaction(); homeFragment = new HomeFragment(); transaction.add(R.id.fl_main_content, homeFragment); transaction.commit(); } //设置点击监听事件 @OnClick({R.id.ll_main_home, R.id.ll_main_me,R.id.ll_main_chat, R.id.ll_main_job}) public void changeTab(View v) { transaction = fragmentManager.beginTransaction(); //设置隐藏Fragment/图片/颜色 hideFragment(); switch (v.getId()) { case R.id.ll_main_home: if (homeFragment == null) { homeFragment = new HomeFragment(); transaction.add(R.id.fl_main_content, homeFragment); } transaction.show(homeFragment); ivMainHome.setImageResource(R.drawable.bottom02); tvMainHome.setTextColor(getResources().getColor(R.color.home_back_selected)); break; case R.id.ll_main_job: if (jobFragment == null) { //当jobFragment不存在时,进行初始化 jobFragment = new JobFragment(); transaction.add(R.id.fl_main_content, jobFragment); //添加jobFragment } transaction.show(jobFragment); //显示jobFragment ivMainJob.setImageResource(R.drawable.bottom08); tvMainJob.setTextColor(getResources().getColor(R.color.home_back_selected)); break; case R.id.ll_main_chat: if (chatFragment == null) { chatFragment = new ChatFragment(); transaction.add(R.id.fl_main_content, chatFragment); } transaction.show(chatFragment); ivMainChat.setImageResource(R.drawable.bottom04); tvMainChat.setTextColor(getResources().getColor(R.color.home_back_selected)); break; case R.id.ll_main_me: if (meFragment == null) { meFragment = new MeFragment(); transaction.add(R.id.fl_main_content, meFragment); } transaction.show(meFragment); ivMainMe.setImageResource(R.drawable.bottom06); tvMainMe.setTextColor(getResources().getColor(R.color.home_back_selected)); break; } transaction.commit(); } //设置隐藏Fragment/图片/颜色 private void hideFragment() { if (homeFragment != null) { ivMainHome.setImageResource(R.drawable.bottom01); tvMainHome.setTextColor(getResources().getColor(R.color.home_back_unselected)); transaction.hide(homeFragment); } if (jobFragment != null) { ivMainJob.setImageResource(R.drawable.bottom07); tvMainJob.setTextColor(getResources().getColor(R.color.home_back_unselected)); transaction.hide(jobFragment); } if (chatFragment != null) { ivMainChat.setImageResource(R.drawable.bottom03); tvMainChat.setTextColor(getResources().getColor(R.color.home_back_unselected)); transaction.hide(chatFragment); } if (meFragment != null) { ivMainMe.setImageResource(R.drawable.bottom05); tvMainMe.setTextColor(getResources().getColor(R.color.home_back_unselected)); transaction.hide(meFragment); } } private boolean flag = true; //flag 用于判断是否是第一次点击返回键 private static final int WHAT_RESET_BACK = 1; private Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case WHAT_RESET_BACK: flag = true; break; } } }; //重写onKeyDown,当点击两次返回键退出程序 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && flag) { Toast.makeText(this, "再点击一次,退出当前应用", Toast.LENGTH_SHORT).show(); flag = false; handler.sendEmptyMessageDelayed(WHAT_RESET_BACK, 2000); //设置2s的延迟,用于处理flag的值 return true; } return super.onKeyDown(keyCode, event); } //为了避免内存泄漏,应该在Destroy()移除未被执行的消息 @Override protected void onDestroy() { super.onDestroy(); handler.removeCallbacksAndMessages(null); } } ```
android使用代码布局LInearLayout达不到xml的效果
用XML布局,能够将TextView控件居中,而代码布局不能将TextView控件居中。 经测试,代码布局中,addView函数对LayoutParams参数添加进的gravity和leftMargin等属性未进行应有的操作,但能够对宽高的设定进行对应的操作。 在NEXUS 4(android 4.3)和我自己的手机(android 4.1.2)上测试,都存在这样的问题。 百度和谷歌都未找到我想要的答案或类似情况。 如果需要LinearLayout里面的控件全部居中的话,将LinearLayout的gravity设置为Gravity.CENTER即可,但我希望一些控件左对齐,一些居中。 希望得到大家的帮助,谢谢! XML布局文件代码: <?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:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Button" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="TextView" /> </LinearLayout> java文件布局代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.layout); LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); LinearLayout mainLayout = new LinearLayout(this); mainLayout.setOrientation(LinearLayout.VERTICAL); setContentView(mainLayout, lp); lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.CENTER; Button button = new Button(this); button.setText("Button"); mainLayout.addView(button, lp); lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.CENTER; TextView textView = new TextView(this); textView.setText("TextView"); mainLayout.addView(textView, lp); }
android 混淆后所有的Adapter里个getview都空指针了
01-06 21:02:55.407: E/AndroidRuntime(1914): java.lang.NullPointerException 01-06 21:02:55.407: E/AndroidRuntime(1914): at fxyy.lx.gqj.a.af.getView(Unknown Source) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.AbsListView.obtainView(AbsListView.java:2255) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.ListView.measureHeightOfChildren(ListView.java:1263) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.ListView.onMeasure(ListView.java:1175) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 01-06 21:02:55.407: E/AndroidRuntime(1914): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2294) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 01-06 21:02:55.407: E/AndroidRuntime(1914): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2294) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.View.measure(View.java:16505) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1912) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1109) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1291) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:771) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.Choreographer.doCallbacks(Choreographer.java:574) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.Choreographer.doFrame(Choreographer.java:544) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:757) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.os.Handler.handleCallback(Handler.java:733) 01-06 21:02:55.407: E/AndroidRuntime(1914): at android.os.Handler.dispatchMessage(Handler.java:95) 01-06 21:02:55.407: E/AndroidRuntime(1914): at a 各位前辈,请指教
Android中LinearLayout1中嵌套多个LinearLayout布局
LinearLayout1中嵌套了多个LinearLayout布局,我通过setVisibility(View.GONE)隐藏后,再设置它显示。LinearLayout1中嵌套的布局不显示,这个怎么解决
Fragment中使用RecyclerView程序闪退的问题
使用viewPager+Fragment的方式构造页面,然后在某个Fagment中使用RecyclerView;异常代码如下: java.lang.NullPointerException at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:1764) at android.view.View.measure(View.java:16935) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455) at android.view.View.measure(View.java:16935) at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1560) at android.view.View.measure(View.java:16935) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455) at android.view.View.measure(View.java:16935) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5156) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) at android.view.View.measure(View.java:16935) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5156) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) at android.view.View.measure(View.java:16935) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5156) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:16935) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5156) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) at android.widget.LinearLayout.measureVertical(LinearLayout.java:695) at android.widget.LinearLayout.onMeasure(LinearLayout.java:588) at android.view.View.measure(View.java:16935) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5156) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2462) at android.view.View.measure(View.java:16935) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2274) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1153) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1523) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1040) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6147) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) at android.view.Choreographer.doCallbacks(Choreographer.java:574) at android.view.Choreographer.doFrame(Choreographer.java:544) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5114) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(Native Method) 0 0-;求解
在 android 中创建动态的 xml
在程序中我想动态的创建xml,依据一些输出的数据我想获得不同的元素。 我用下面的例子创建了 TextView 和 Spinner的一个简单的动态的xml,问题是我在emulator中看不见任何信息。 代码如下: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout top = new LinearLayout(this); top.setOrientation(LinearLayout.VERTICAL); LinearLayout ll = new LinearLayout(this); ll.setOrientation(LinearLayout.HORIZONTAL); top.addView(ll); TextView tv = new TextView(this); tv.setText("Dynamic layouts ftw!"); ll.addView(tv); String signs[]={"+","-"}; Spinner spinner = new Spinner(this); ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, signs); spinner.setAdapter(spinnerArrayAdapter); ll.addView(spinner, new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); }
在android中动态添加linearLayout
求教: 需要动态添加linearLayout,但是没成功,卡到这了请高手相助。谢谢 LinearLayout parentLayout = (LinearLayout)findViewById(R.id.parentLayout); lLayout = new LinearLayout[8]; for(int i = 0; i < lLayout.length; i++) { lLayout[i] = new LinearLayout(this); lLayout[i].setId(i); lLayout[i].setOrientation(LinearLayout.HORIZONTAL); if(i%2 == 0) { lLayout[i].setBackgroundColor(Color.GREEN); } else { lLayout[i].setBackgroundColor(Color.MAGENTA); } parentLayout.addView(lLayout[i]); }
android 在代码中如何设置 根视图的宽高?
android 在代码中如何设置 根视图的宽高? 如何设置视图container的宽高? public void popEdit(EditText _edit) { // edit=_edit; LinearLayout container=new LinearLayout(cont); container.setOrientation(LinearLayout.HORIZONTAL); LinearLayout.LayoutParams lp1 =new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT-80, LinearLayout.LayoutParams.WRAP_CONTENT); lp1.weight=1; EditText content=new EditText(cont); content.setHint("写点什么吧..."); //content.setLayoutParams(lp1); container.addView(content, lp1); Button button=new Button(cont); button.setBackgroundDrawable(cont.getResources().getDrawable(R.drawable.bton4)); container.addView(button); pop = new PopupWindow(container, edit.getWidth(), LayoutParams.WRAP_CONTENT, true); pop.setTouchable(true); pop.setBackgroundDrawable(new BitmapDrawable()); // pop.setFocusable(true); pop.showAsDropDown(edit, 0, 0);//位于et下面 }
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片...
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给袈...
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库 回到首页 目录: Python语言高频重点汇总 目录: 1. 函数-传参 2. 元类 3. @staticmethod和@classmethod两个装饰器 4. 类属性和实例属性 5. Python的自省 6. 列表、集合、字典推导式 7. Python中单下划线和双下划线 8. 格式化字符串中的%和format 9. 迭代器和生成器 10...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Qt实践录:开篇
本系列文章介绍笔者的Qt实践之路。
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
一条链接即可让黑客跟踪你的位置! | Seeker工具使用
搬运自:冰崖的部落阁(icecliffsnet) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 请遵守相对应法律规则,禁止用作违法途径,出事后果自负! 上次写的防社工文章里边提到的gps定位信息(如何防止自己被社工或人肉) 除了主动收集他人位置信息以外,我们还可以进行被动收集 (没有技术含量) Seeker作为一款高精度地理位置跟踪工具,同时也是社交工程学(社会工程学)爱好者...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#开发的dll注册 c#的反射 c# grid绑定数据源 c#多线程怎么循环 c# 鼠标左键 c# char占位符 c# 日期比较 c#16进制转换为int c#用递归求顺序表中最大 c#小型erp源代码
立即提问