Как изменить видимость текстового представления в виде списка - PullRequest
2 голосов
/ 11 апреля 2019

У меня есть listView в моем activity_main.xml.Я использовал макет (list_layout) для строки моего списка.list_layout содержит 3 textView.Я добавил занятие под названием «Настройка» в свою основную деятельность.Я хочу изменить видимость 3. textView list_layout из settin.java с помощью кнопки.

Я имею в виду, когда я нажимаю кнопку (код кнопки находится в setting.java (кнопка находится в activity_setting.xml)) listtelay's 3.textviewдолжен быть невидимым.

Это из Activity_main.xml

    <ListView
        android:id="@+id/listem"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    </ListView>

Это list_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
   <TextView
.../>
   <TextView
.../>
   <TextView
        android:id="@+id/turkish_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:visibility="visible"/>

</LinearLayout>

MainActivity.Java

     ...    listview = (ListView) findViewById(R.id.listem);
DataHelper.Database data = new DataHelper.Database(MainActivity.this);
            ArrayList<HashMap<String, String>> Liste = data.Listele();
            ListAdapter adapter = new SimpleAdapter(MainActivity.this, Liste, R.layout.list_layout, new String[]{"id", "title", "subtitle"}, new int[]{R.id.kelime_id, R.id.english_id, R.id.turkish_id});
            listview.setAdapter(adapter);
      ...
     public boolean onOptionsItemSelected(MenuItem item) {
             switch (item.getItemId()) {

                case R.id.settings:
                    Intent intent = new Intent(MainActivity.this, Setting.class);
                    startActivity(intent);
                    break;  ...

//Setting.Java

public class Setting extends AppCompatActivity {

    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_setting);
    }

    public void click(View view) {//<-----Here is my button's code
        textView=(TextView)view.findViewById(R.id.turkish_id);
        textView.setVisibility(View.INVISIBLE);
    }
}

activity_setting.xml

 <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MY BUTTON"
    android:onClick="click"/>

1 Ответ

2 голосов
/ 12 апреля 2019

Существуют различные способы добавления прослушивателя кликов к кнопке, см. Эту ссылку: добавить слушателя onclick к предопределенной кнопке?

в вашем случае вы можете реализовать в своей деятельности интерфейс OnClickListener

public class Setting extends AppCompatActivity implements OnClickListener

тогда вы должны переименовать ваш метод, щелкнуть на onClick

и в onCreate вашей деятельности вы должны добавить строку

findViewById(R.id.yourIdButton).setOnClickListener(this);

не забудьте указать идентификатор своей кнопки

<Button
    android:"@+id/yourIdButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="MY BUTTON"
    android:onClick="click"/>

вы также можете полностью удалить TextView из макета, используя «View.GONE» вместо «View.INVISIBLE»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...