在我的应用程序中,我必须经常在两个布局之间切换.错误发生在下面发布的布局中.
第一次调用我的布局时,没有发生任何错误,一切都很好.当我再调用一个不同的布局(一个空白的布局),然后再次调用我的布局时,它会给我以下错误:
> FATAL EXCEPTION: main
> java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
Run Code Online (Sandbox Code Playgroud)
我的布局代码如下所示:
tv = new TextView(getApplicationContext()); // are initialized somewhere else
et = new EditText(getApplicationContext()); // in the code
private void ConsoleWindow(){
runOnUiThread(new Runnable(){
@Override
public void run(){
// MY LAYOUT:
setContentView(R.layout.activity_console);
// LINEAR LAYOUT
LinearLayout layout=new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
layout.addView(tv); // <========== ERROR IN THIS LINE DURING 2ND RUN
// EDITTEXT
et.setHint("Enter Command");
layout.addView(et); …Run Code Online (Sandbox Code Playgroud) 我想知道是否有一种简单的方法可以在Android中的app小部件中查看文本.在正常活动中,使用textview标记非常简单:
textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
Run Code Online (Sandbox Code Playgroud)
但是因为在app小部件中,我只能使用远程视图...我不知道这是否可行
有人知道这个吗?
谢谢!
我有一个textView带有数字(变量)和a的内部string,我怎么能给出比这个大一号的string?代码:
TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size);
if (ls.numProducts != null) {
size.setText(ls.numProducts + " " + mContext.getString(R.string.products));
}
Run Code Online (Sandbox Code Playgroud)
我想ls.numproducts的大小与文本的其余部分不同.怎么做?
我需要在Android UI中绘制一个圆角矩形.具有相同的圆角矩形TextView,并EditText也将是有益的.
如果a String长于TextView宽度,它会自动换行到下一行.我可以通过使用android:singleLine(已弃用)或通过设置来避免这种情况android:inputType="text".我现在需要的是String用" ...... " 代替我的最后3个字符.由于我没有使用等宽字体,因此根据我使用的字母不同,这将总是不同的String.所以我想知道在a中获取字符串的最后3个字符的最佳方法是什么,TextView并替换它们.也许已经在Android框架中实现了一些东西,因为这必然是一个常见的问题.
我试图TextViews在代码中添加到我的xml定义的布局.我有一个xml表,其中Views定义了很多.但是我必须在代码中添加一些视图,所以LinearLayout在xml-sheet中创建一个:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:id="@+id/info"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在这个布局中,我想添加我的TextView:
View linearLayout = findViewById(R.id.info);
//LinearLayout layout = (LinearLayout) findViewById(R.id.info);
TextView valueTV = new TextView(this);
valueTV.setText("hallo hallo");
valueTV.setId(5);
valueTV.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(valueTV);
Run Code Online (Sandbox Code Playgroud)
但我只收到以下错误消息:
: java.lang.ClassCastException: android.widget.TextView
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
谢谢你的帮助.马丁
我通过以下方式使用setText()设置文本.
prodNameView.setText("" + name);
prodOriginalPriceView.setText("" + String.format(getString(R.string.string_product_rate_with_ruppe_sign), "" + new BigDecimal(price).setScale(2, RoundingMode.UP)));
Run Code Online (Sandbox Code Playgroud)
在此首先一个是使用简单,二一个是设置文本与文本格式.
Android Studio非常有趣,我使用了Menu Analyze -> Code Cleanup,我得到了以上两行的建议.
不要连接用setText显示的文本.使用带占位符的资源字符串.少...(Ctrl + F1)
调用TextView#setText时:
- 永远不要调用Number#toString()来格式化数字; 它不会正确处理分数分隔符和特定于语言环境的数字.请考虑使用具有适当格式规范(%d或%f)的String#格式.
- 不要传递字符串文字(例如"Hello")来显示文本.硬编码文本无法正确翻译为其他语言.请考虑使用Android资源字符串.
- 不要通过连接文本块来构建消息.此类消息无法正确翻译.
我能为此做些什么?任何人都可以帮助解释这是什么,我该怎么办?
我试过使用marquee,它不在这里工作是我的代码,请让我知道我哪里出错了
<TextView
android:text="lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00"
android:id="@+id/TextView02"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:marqueeRepeatLimit="marquee_forever"
android:ellipsize="marquee"
android:singleLine="true"
android:focusable="true"
android:inputType="text"
android:maxLines="1">
</TextView>
Run Code Online (Sandbox Code Playgroud)
我正在使用android SDK 2.0.1
通话TextView.setTextSize()工作异常.在调用之后,setTextSize如果我们得到一个getTextSize更高的值,那就是我们之前设置它的值.
这是我们正在做的事情:
zoomControl.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View view) {
float size = mViewShabad.getTextSize() + 1;
textView.setTextSize(size);
}
});
Run Code Online (Sandbox Code Playgroud)
谁看过这个吗?
我有活动和很多小部件,其中一些有动画,而且由于动画,一些小部件正在移动(翻译)一个在另一个上.例如,文本视图正在移动某些按钮...
现在问题是我希望按钮始终在前面.当textview移动时,我想移动按钮.
我无法实现这一点我尝试了我所知道的一切,并且"bringToFront()"definitelly不起作用.
注意我不想按照放置元素的顺序来控制z顺序因为我根本不能:),布局很复杂而且我不能将所有按钮放在布局的乞讨处