【发布时间】:2013-02-10 19:17:15
【问题描述】:
我知道有几十个类似的帖子,但在我看来一切都是正确的:
自定义小部件:
public class DoubleTextItem extends LinearLayout {
private TextView txtMain;
private TextView txtDescription;
public DoubleTextItem(Context context) {
super(context);
}
public DoubleTextItem(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
((Activity)getContext()).getLayoutInflater().inflate(R.layout.widget_double_text_item, this);
setupViewItems();
}
private void setupViewItems() {
txtMain = (TextView) findViewById(R.id.txtMain);
txtDescription = (TextView) findViewById(R.id.txtDecription);
}
public void setDescription(String text) {
txtDescription.setText(text);
}
}
自定义小部件布局 xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/txtMain"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtDecription"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
在活动函数内部,我得到一个转换错误,
LayoutInflater inflater = LayoutInflater.from(this);
DoubleTextItem item = (DoubleTextItem) inflater.inflate(R.layout.widget_double_text_item, layout);
item.setText(som-txt);
item.setDescription("#"+athlete.getString("position"));
【问题讨论】:
-
什么是
othertxt,它在哪里以及如何设置? -
编写代码时很难为您提供帮助:
item.setText(som-txt);,除非您看到编译时错误,因为-是一个数学运算... -
sometxt 只是 String sometxt = "hello";没有编译时错误。没有警告。仅在执行该方法时才执行。崩溃、退出和以 ClassCastException 结尾的巨大堆栈:在第一种情况下为 LinearLayout.nvm 在第二种情况下。显然那里没有错误。
标签: java android custom-component