Android - fragmento de lista

Versão de suporte de biblioteca estática do ListFragment do framework. Usado para escrever aplicativos que rodam em plataformas anteriores ao Android 3.0. Ao executar no Android 3.0 ou superior, esta implementação ainda é usada.

The basic implementation of list fragment is for creating list of items in fragments

Lista em fragmentos

Exemplo

Este exemplo irá explicar como criar seu próprio fragmento de lista com base no arrayAdapter. Então, vamos seguir as etapas a seguir para se assemelhar ao que seguimos durante a criação do Exemplo Hello World -

Degrau Descrição
1 Você usará o Android Studio para criar um aplicativo Android e nomeá-lo como SimpleListFragment em um pacote com.example.tutorialspoint7.myapplication , com Activity em branco.
2 Modifique o arquivo de string, que foi colocado em res / values ​​/ string.xml para adicionar novas constantes de string
3 Crie um layout chamado list_fragment.xml no diretório res / layout para definir seus fragmentos de lista. e adicione a tag do fragmento (<fragment>) ao seu activity_main.xml
4 Crie um myListFragment.java, que é colocado em java / myListFragment.java e continha onCreateView () , onActivityCreated () e OnItemClickListener ()
5 Execute o aplicativo para iniciar o emulador Android e verifique o resultado das alterações feitas no aplicativo.

Antes de iniciar a codificação, inicializarei as constantes de string dentro do arquivo string.xml no diretório res / values

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">ListFragmentDemo</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>
   <string name="imgdesc">imgdesc</string>
   
   <string-array name="Planets">
      <item>Sun</item>
      <item>Mercury</item>
      <item>Venus</item>
      <item>Earth</item>
      <item>Mars</item>
      <item>Jupiter</item>
      <item>Saturn</item>
      <item>Uranus</item>
      <item>Neptune</item>
   </string-array>

</resources>

A seguir estará o conteúdo de res/layout/activity_main.xmlArquivo. continha layout linear e tag de fragmento.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >
   
   <fragment
      android:id="@+id/fragment1"
      android:name="com.example.tutorialspoint7.myapplication.MyListFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent" />

</LinearLayout>

A seguir estará o conteúdo de res/layout/list_fragment.xmlArquivo. continha layout linear, visualização de lista e visualização de texto

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical" >

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

   <TextView
      android:id="@android:id/empty"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
   </TextView>
</LinearLayout>

a seguir estará o conteúdo de src/main/java/myListFragment.java arquivo. antes de gravar em código, precisa seguir algumas etapas conforme mostrado abaixo

  • Crie uma classe MyListFragment e estenda-a para ListFragment.

  • Dentro de onCreateView() método, aumente a visualização com o layout xml list_fragment definido acima.

  • Dentro de onActivityCreated() , crie um arrayadapter a partir do recurso, ou seja, usando String array R.array.planet que você pode encontrar dentro de string.xml e defina este adaptador para listview e também defina o onItem click Listener.

  • Dentro de OnItemClickListener() , exibe uma mensagem brinde com o nome do item que está sendo clicado.

package com.example.tutorialspoint7.myapplication;

import android.annotation.SuppressLint;
import android.app.ListFragment;
import android.os.Bundle;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Toast;

public class MyListFragment extends ListFragment implements OnItemClickListener {
   @Override
   public View onCreateView(LayoutInflater inflater, 
      ViewGroup container, Bundle savedInstanceState) {
      View view = inflater.inflate(R.layout.list_fragment, container, false);
      return view;
   }

   @Override
   public void onActivityCreated(Bundle savedInstanceState) {
      super.onActivityCreated(savedInstanceState);
      ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(), 
         R.array.Planets, android.R.layout.simple_list_item_1);
      setListAdapter(adapter);
      getListView().setOnItemClickListener(this);
   }

   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
      Toast.makeText(getActivity(), "Item: " + position, Toast.LENGTH_SHORT).show();
   }
}

O código a seguir será o conteúdo de MainActivity.java

package com.example.tutorialspoint7.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

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

o código a seguir será o conteúdo de manifest.xml, que foi colocado em res / AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.tutorialspoint7.myapplication">

   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

Executando o aplicativo

Vamos tentar executar nosso SimpleListFragmentaplicativo que acabamos de criar. Suponho que você tenha criado o seuAVDao fazer a configuração do ambiente. Para executar o aplicativo no Android Studio, abra um dos arquivos de atividade do seu projeto e clique no ícone Executar na barra de ferramentas. O Android instala o aplicativo em seu AVD e o inicia e se tudo estiver bem com sua configuração e aplicativo, ele será exibido a seguir a janela do emulador -