SetText в пользовательском просмотре
-
26-10-2019 - |
Вопрос
Я создал пользовательский класс из учебника в Интернете. Это работает нормально, но я хочу сделать это, чтобы я мог установить текст представления, как и любой другой вид. Как это достигнуто. Вот XML для пользовательского представления
<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")
Решение
TextView filename = (TextView)findViewById(R.id.file_name_holder);
filename.setText("someFile.exe");
На другой ноте ... вы можете использовать подсказку, чтобы дать своим пользователям серо -серийное текстовое приглашение, которое им не придется стереть при введении имени файла. В вашем XML заменить android:text
с android:hint
для вашего текста.
Другие советы
Замените «Имя файла здесь» на «текст, который вы хотите» или @string/name_of_string_in_string.xml
или джава, на который кто -то другой ответил
Здесь no_internet включает в себя XML -представление. В Vict View содержится представление текста. Вы можете установить текст включить пользовательский текстовый просмотр, как ....
no_internet = view.findViewById(R.id.no_internet);
((TextView) no_internet).setText(R.string.no_internet_connection);
Я не понял твоего полного требования. Но если вы хотите создать пользовательский просмотр следующих вещей, которые вы должны сделать:
Например: если вы хотите создать кнопку, используя свой пользовательский макет, тогда
Создайте класс, который расширяет макет.
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 AS: (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>
Пожалуйста, попробуйте, если вам это требуется.