我已经在线教程创建了一个自定义类。它工作正常,但我想要做的是让我可以设置视图的文本,就像我可以任何其他视图一样。这是怎么完成的。这是自定义视图的 我想要实现的是这个<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageView
android:id="@+id/file_image_holder"
android:layout_width="110dip"
android:layout_height="110dip"
android:src="@drawable/pdf_icon" />
<TextView
android:id="@+id/file_name_holder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="File Name Here" />
</LinearLayout>
FileView fileView = new FileView(this)
fileView.setText("text")
答案 0 :(得分:3)
TextView filename = (TextView)findViewById(R.id.file_name_holder);
filename.setText("someFile.exe");
另一方面......您可以使用提示为用户提供一个灰色的文本提示,输入文件名时不必擦除。在您的XML中,将android:text
替换为android:hint
,用于TextView。
答案 1 :(得分:1)
将“File Name Here”替换为“TEXT YOU WANT”或@ string / name_of_string_in_string.xml
或java方式,其他人回答
答案 2 :(得分:1)
这里no_internet包含xml视图。在包含视图中包含文本视图。您可以在包含自定义文本视图中设置文本,如....
no_internet = view.findViewById(R.id.no_internet);
((TextView) no_internet).setText(R.string.no_internet_connection);
答案 3 :(得分:0)
我不明白你的全部要求。但是如果你想创建一个自定义视图,你应该做以下事情:
例如:如果您想使用自定义布局创建按钮,则
创建一个扩展布局的类。
public class MyCustomView extends RelativeLayout {
private Button customBtn;
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
private void init(Context context) {
customBtn = new Button(context);
customBtn.setText("Button");
RelativeLayout.LayoutParams buttonParams = new RelativeLayout.LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
buttonParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
buttonParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
addView(customBtn, buttonParams);
}
}
如果要添加任何侦听器,请实现并覆盖它。
2.在xml中将此自定义布局设置为:(我的MyCustomView存在于com.android包中)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" >
<com.android.MyCustomView android:background="@android:color/white" android:id="@+id/myLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:layout_centerHorizontal="true" android:clickable="true" />
</RelativeLayout>
如果您需要,请尝试一下。