Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla tagów 'listview' .



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Typ zawartości


Forum

  • Społeczność android.com.pl
    • Regulaminy Forum
    • Przywitaj się!
    • Android.com.pl
    • Konkursy
    • OFF-Topic
  • Android
    • Nowości i plotki
    • FAQ Android
    • Android 10
    • Android 9.0 Pie
    • Android 8.0 Oreo
    • Android 7.0 Nougat
    • Android 6.0 Marshmallow
    • Android 5.0 Lollipop
    • Android 4.4 KitKat
    • Archiwum Android
    • Software PC
  • Gry i Aplikacje
    • Aplikacje Android
    • Gry Android
    • Poszukiwania gier i aplikacji
    • Porównania gier i aplikacji
    • Android Wear - Smartwatch
    • Modyfikacje Wizualne
    • Download
    • Multimedia
  • Co i gdzie kupić?
  • Programowanie
  • Modyfikacje Android OS
  • Elektronika
  • Honor
  • Google
  • HTC
  • LG
  • Samsung
  • Sony
  • Motorola
  • Huawei
  • Xiaomi / MIUI
  • OnePlus
  • Lenovo
  • Asus
  • myPhone
  • Pozostałe marki

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Znaleziono 20 wyników

  1. Witam. Mam taką listę: <ListView android:id="@+id/drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" android:background="#424242" android:listSelector="@drawable/list_color_selector" /> teraz chciałbym zmienić kolor pozycji które są zaznaczone/aktywne. Próbowałem to zrobić przez: <item android:state_checked="true" android:drawable="@android:color/holo_orange_dark" /> ale niestety nie działa (inne state_ sprawdzałem i też nie działa), natomiast state_pressed działa bardzo dobrze. Zna ktoś może sposób na zmianę koloru zaznaczonej pozycji? Kod ma działać na androidzie od 4 do 6. Dzięki za pomoc.
  2. Witajcie! Od tygodnia siedzę nad kodem i utknąłem... a wygląda to tak: Uczę się na quizie i mam dwie tabele z pytaniami i odpowiedziami w bazie danych jedna tabela dotyczy tematu a, druga tabela dotyczy tematu b Chce wyświetlić te 2 tematy quiz-ow w oknie głownym gdzie gracz moze podswietlic sobie temat a nastepnie akceptujac wybor przyciskiem( button) przeniesie go do gry z wlasciwymi pytaniami Do tej pory miałem jeden temat i jeden zestaw pytań i nie było problemu ale jak stworzyłem drugą tabelę i nowy zestaw pytan w niej to juz zaczęły się schody..nie mogę znaleśćwłaściwej drogi jak stworzyć kod dzieki ktoremu bedę mogł wybrać i podswietlic listview a lub listview b i przeniesc sie do gry poprzez wciśniecie przycisku ( button) Bardzo prosze o poradę lub wskazówki które mnie naprowadzą na właściwe rozwiązanie Dzieki Robert Ponizej zamieszczam fragment kodu i na ten moment dziala tylko jedna lista: listSubjects pod btnGra nie umiem podłączyc listSubjects2 Button btngra, btnscores, btnsend, btnchangesettings; ListView listSubjects,listSubjects2; Boolean resultsSent = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.options_menu); btngra = (Button) findViewById(R.id.btngra); btnscores = (Button) findViewById(R.id.btnscores); btnsend = (Button) findViewById(R.id.btnsend); btnchangesettings = (Button) findViewById(R.id.btnchangesettings); listSubjects = (ListView) findViewById(R.id.listView1); listSubjects2 = (ListView) findViewById(R.id.listView2); final QuizHelper db = new QuizHelper(this); String subjectsRaw2 = db.getSubjects2(); String subjectsRaw = db.getSubjects(); final String[] subjects = subjectsRaw.split("/"); final String[] subjects2 = subjectsRaw2.split("/"); // Define a new Adapter // First parameter - Context // Second parameter - Layout for the row // Third parameter - ID of the TextView to which the data is written // Forth - the Array of data ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, subjects) { @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView textView = (TextView) view.findViewById(android.R.id.text1); /*YOUR CHOICE OF COLOR*/ textView.setTextColor(Color.WHITE); return view; } }; ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, subjects2) { @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView textView = (TextView) view.findViewById(android.R.id.text1); /*YOUR CHOICE OF COLOR*/ textView.setTextColor(Color.WHITE); return view; } }; // Przypisywanie adapterow do listy listSubjects.setAdapter(adapter); listSubjects.setChoiceMode(ListView.CHOICE_MODE_SINGLE); listSubjects2.setAdapter(adapter2); listSubjects2.setChoiceMode(ListView.CHOICE_MODE_SINGLE); // ListView Item Click Listener listSubjects.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long qid) { final String subject = (String) parent.getAdapter().getItem(position); // Set the item as checked to be highlighted for (int i = 0; i < listSubjects.getCount(); i++) { listSubjects.getChildAt(i).setBackgroundColor(Color.BLACK); } //listSubjects.setItemChecked(0, true); view.setBackgroundColor(Color.BLUE); //przejscie do kategorii btngra.setOnClickListener(new View.OnClickListener() { @Override public void onClick (View v){ Intent intent = new Intent(Options.this, HistQuestionActivityCategory.class); Bundle bun = new Bundle(); bun.putString("subject", subject); intent.putExtras(bun); startActivity(intent); resultsSent = false; } } ); } });
  3. Hej, mam pewien problem. Mam listę wpisów z forum (nazwa użytkownika, data, treść). Treść wczytywana jest jako html (na forum używany bbcode i jsonem przesyłam sparsowany tekst do html'a). Chciałbym zrobić coś takiego aby po wejściu przewijało mnie do ostatniego wpisu. Próbowałem czegoś takiego: mList.postDelayed(new Runnable() { @Override public void run() { mList.setSelection(lastElementIndex); } }, 500); // i też czegoś takiego mList.setItemChecked(lastElementIndex, true); niestety żadne rozwiązanie nie działa, wszystko przez webview... Da się to jakoś obejść aby pomimo wczytywania html'a przewinęło na sam dół listy? (coś ala zawsze trzymaj się dołu listy?) Dzięki za pomoc
  4. Witam. Ucząc się programować w androidzie, zetknąłem się z takim problemem. Chciałbym aby w każdym komponencie ListView znajdował się obrazek (img1.png, img2.png itd.), oraz obok niego dwie linijki tekstu (osobne elementy), które będą importowane z strings.xml (str1, str2, str3 itd.) Żadnego poradnika/tutoriala na ten temat nie udało mi się znaleźć, a mój angielski nie jest na takim poziomie żeby dokładnie zrozumieć anglojęzyczne strony, a tym bardziej dokumentację. Gdyby ktoś mógłby to możliwie jak najprościej wytłumaczyć, zarzucić linkiem, bądź wstawić przykładowy kod, będę bardzo wdzięczny. Z góry dziękuję, pozdrawiam.
  5. Cześć, Używam SimpleAdapter do pobrania listy, a dane pochodzą z MySQL. Każdy wiersz ma dwa przyciski, textview i radiogroup z dwoma radio przyciskami. Kiedy przyciskam button1: podświetlam go, textview dostaje setText "1", a radio button1 dostaje setChecked(true). Problem w tym, że wszystkie te wartości są dublowane na wiersz czwarty, siódmy itd., jeśli na starcie mam trzy widoczne wiersze. Czytałem, że w takim wypadku to trzeba używać ViewHolder i set i get tag. Rozumiem, że kiedy przyciskam button to te wszystkie wartości muszą zostać zapisane, żeby je potem przywrócić w te samo miejsce (wiersz), tylko nie bardzo rozumiem gdzie i kiedy postawić set i get tag. @Override public View getView(final int position, View convertView, ViewGroup parent){ View v = convertView; System.out.println("getView " + position + " " + v); ViewHolder holder = null; if(v == null){ LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.lv_test, null); holder = new ViewHolder(); holder.btn1 = (Button) v.findViewById(R.id.btn1); holder.btn2 = (Button) v.findViewById(R.id.btn1); holder.tvWybor = (TextView) v.findViewById(R.id.wybor); holder.radioGroupWybor = (RadioGroup)v.findViewById(R.id.rg); holder.rb1 = (RadioButton)v.findViewById(R.id.rb1); holder.rb1 = (RadioButton)v.findViewById(R.id.rb2); holder.tvWybor.setText(testList.get(position).get(TAG_WYBOR)); v.setTag(holder); } else { holder = (ViewHolder)v.getTag(); } holder.btn1.setText(testList.get(position).get(TAG_1)); holder.btn2.setText(testList.get(position).get(TAG_2)); final String tenWybor = holder.tvWybor.getText().toString(); if (tenWybor.equals("1")){ holder.btn1.setBackgroundResource(R.drawable.btn1_highlight); holder.rb1.setChecked(true); holder.rb2.setChecked(false); } else if (tenWybor.equals("2")){ holder.btn2.setBackgroundResource(R.drawable.btn1_highlight); holder.rb1.setChecked(false); holder.rb2.setChecked(true); } else if (tenWybor.equals("0")){ holder.btn1.setBackgroundResource(R.drawable.btn2); holder.btn2.setBackgroundResource(R.drawable.btn2); holder.rb1.setChecked(false); holder.rb2.setChecked(false); } final ViewHolder finalHolder1 = holder; holder.btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finalHolder1.tvWybor.setText("1"); finalHolder1.btn1.setBackgroundResource(R.drawable.btn1_highlight); finalHolder1.btn2.setBackgroundResource(R.drawable.btn2); finalHolder1.rb1.setChecked(true); finalHolder1.rb2.setChecked(false); int selectedId = finalHolder1.radioPickGroup.getCheckedRadioButtonId(); final RadioButton radioMojWybor = (RadioButton) findViewById(selectedId); String str_wybor = radioMojWybor.getText().toString(); /*Toast.makeText(getApplicationContext(), str_wybor, Toast.LENGTH_SHORT).show();*/ } }); holder.btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finalHolder1.tvWybor.setText("2"); finalHolder1.btn1.setBackgroundResource(R.drawable.btn2); finalHolder1.btn2.setBackgroundResource(R.drawable.btn1_highlight); finalHolder1.rb1.setChecked(false); finalHolder1.rb2.setChecked(true); int selectedId = finalHolder1.radioGroupWybor.getCheckedRadioButtonId(); final RadioButton radioMojWybor = (RadioButton) findViewById(selectedId); String str_wybor = radioMojWybor.getText().toString(); /*Toast.makeText(getApplicationContext(), str_wybor, Toast.LENGTH_SHORT).show();*/ } }); return v; } public static class ViewHolder { TextView tvWybor; RadioGroup radioGroupWybor; RadioButton rb1, rb2; Button btn1, btn2; } testList to HashMapa map.put(TAG_WYBOR, moj_wybor); testList.add(map);
  6. Do ListView pobieram z bazy danych różne dane, podpasowane pod layout Jak zrobić bym prócz klikania całego pola ListView mógł wybierać jej pojedyncze elementy, np. żeby wykrywało mi kiedy kliknę: <ImageView android:id="@+id/map" android:layout_width="15dp" android:layout_height="15dp" android:adjustViewBounds="true" android:contentDescription="@string/map" android:gravity="left" android:src="@drawable/gps" /> a kiedy kliknę <TextView android:id="@+id/TextView_CATEGORY" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/category" android:layout_gravity="left" /> wykrywałoby mi inne zdarzenie? Jest to w ogóle możliwe?
  7. Witam, mam ListView do którego importuję wyszukane dane z bazy danych, potrzebuję przy kliknięciu na wybrany wynik, pobrać do zmiennej ID tego wyniku z bazy danych, żeby następnie przekazać tą zmienną do następnej aktywności. Wiem jak pobrać id z ListView, jednak nie mam pomysłu jak pobrać ID wskazanego wyniku z bazy danych. Kod aktywności: package data.org; import java.sql.SQLException; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteQueryBuilder; import android.os.Bundle; import android.widget.AdapterView; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import data.org.Handler; import android.util.Log; import android.view.View; public class wynik_data extends Activity{ private static String TEXT; private Cursor mCursor; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wynik_data); Bundle extras = getIntent().getExtras(); String tekst = extras.getString("text"); TEXT = tekst; try { fillList(); } catch (SQLException e) { e.printStackTrace(); } } public void fillList() throws SQLException { Handler dbhandler = new Handler(this); dbhandler.open(); SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder(); queryBuilder.setTables(Handler.DATABASE_TABLE); queryBuilder.appendWhere(Handler.DATABASE_TABLE + "." + Handler.KEY_DATA + "=" + wynik_data.TEXT); String asColumnsToReturn[] = {Handler.DATABASE_TABLE + "." + Handler.KEY_DATA, Handler.DATABASE_TABLE + "." + Handler.KEY_WYDARZENIE, Handler.DATABASE_TABLE + "." + Handler.KEY_ROWID}; mCursor = queryBuilder.query(Handler.mkDatabase, asColumnsToReturn, null, null, null, null, null); startManagingCursor(mCursor); final ListAdapter adapter = new SimpleCursorAdapter(this, R.layout.listitem, mCursor, new String[]{Handler.KEY_DATA, Handler.KEY_WYDARZENIE}, new int[]{R.id.TextView_Data, R.id.TextView_Wydarzenie}); ListView av = (ListView)findViewById(R.id.wynik_daty); av.setAdapter(adapter); av.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick( AdapterView<?> parent, View view, int position, long id) { Intent Ostateczna = new Intent(wynik_data.this, Ostateczna.class); startActivity(Ostateczna); } }); dbhandler.close(); } }
  8. Potrzebuję porad jak zrobić następującą rzecz. :niepewny: Mam 1 aktywność z ListView + przyciskiem ( zwykły button ). Po naciśnięciu przycisku chcę otworzyć drugą aktywność ( to nie problem ) w 2 aktywności będę miał edittext itp. + przycisk który po wciśnięciu będzie wracał do 1 aktywności uzupełniając ListView danymi z 2 aktywności np z EditText będzie brał tytuł itd. Jak w tej 2 aktywności wpiszę sobię w edittext tytuł itd. i zapiszę to do SharedPreferences ( dobrze kombinuję ? ) to w jaki sposób ten zapisany stan wrzucić do ListView ? Czyli tak o: Otwieram 1 aktywność z ListView + przyciskiem naciskam go -> Otwiera się druga aktywność z różnymi polami do wypełnienia -> wciskam przycisk np Akceptuj -> Po wciśnięciu wraca do 1 aktywności już z dodanym nowym polem do ListView ( wypełnionym ). Prościej się nie da chyba wytłumaczyć Jak to rozwiązać, żeby działało najlepiej głównie chodzi o przesłanie tego zapisanego stanu do ListView. Z góry dzięki za pomoc
  9. Witam. Mam problem, mianowicie chcę pobrać tekst z pola EditText i następnie po kliknięciu przycisku szukaj przejść do kolejnej aktywności, gdzie zostanie wyświetlone lista wyszukanych w bazie danych wyników i wyświetlone w ListView Aktywność nr. 1: import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class Szukaj2 extends Activity implements OnClickListener{ private EditText tekst_data; private Button przyciskSzukaj; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.szukaj_daty); tekst_data = (EditText) findViewById(R.id.wpisz_data); przyciskSzukaj = (Button) findViewById(R.id.data2); View wroc = findViewById(R.id.wroc); wroc.setOnClickListener(this); przyciskSzukaj.setOnClickListener(new OnClickListener() { public void onClick(View widok) { wyszukaj(); } }); } public void onClick(View v) { switch(v.getId()) { case R.id.wroc: Intent e = new Intent(this, Szukaj.class); finish(); startActivity(e); break; } } private void wyszukaj() { Intent szukaj_daty = new Intent(this, wynik_data.class); startActivity(szukaj_daty); } } 1. W jaki sposób pobrać tekst z pola EditText? 2. Czy można w jednej aktywności po naciśnięciu przycisku "szukaj" ustawić drugi widok (setContentView(R.layout.szukaj_daty)? 3. Jeśli nie można zrealizować pkt. 2. to w jaki sposób zaimportować to co pobiorę z kontrolki EditText do drugiej aktywności? Notatka od Moderatora: KunDun Znaczniki CODE po to są na forum, żeby czytelniej prezentować... kod. Używaj więc ich zamiast zwykłego QUOTE, jak chcesz wrzucić fragment kodu, bo zachowują wcięcia i lepiej się go czyta.
  10. Witam Mam kolejny problem z listview (mam nadzieje że już ostatni). Próbuje zaimplementować dynamiczne generowanie tabeli z danymi do tego listview (w domyśle będą one pobierane z json - php), problem polega na tym że nie wiem jak zmusić do dodawania np po jednym polu za pomocą iteracji FOR własna klasa wygląda tak: [color=#00008B][font=Consolas]package[/font][/color][color=#000000][font=Consolas] com[/font][/color][color=#000000][font=Consolas].[/font][/color][color=#000000][font=Consolas]example[/font][/color][color=#000000][font=Consolas].[/font][/color][color=#000000][font=Consolas]raidplanner[/font][/color][color=#000000][font=Consolas];[/font][/color] [color=#00008B]public[/color] [color=#00008B]class[/color] [color=#2B91AF]RaidWpis[/color] { [color=#00008B]private[/color] [color=#00008B]int[/color] id; [color=#00008B]private[/color] [color=#00008B]int[/color] id_gildia; [color=#00008B]private[/color] [color=#2B91AF]String[/color] nazwa; [color=#00008B]private[/color] [color=#00008B]int[/color] schemat; [color=#00008B]private[/color] [color=#00008B]int[/color] data_zapis; [color=#00008B]private[/color] [color=#00008B]int[/color] data_start; [color=#00008B]private[/color] [color=#00008B]int[/color] opis; [color=#00008B]private[/color] [color=#00008B]int[/color] id_officer; [color=#00008B]private[/color] [color=#00008B]int[/color] nick_officer; [color=#00008B]private[/color] [color=#00008B]int[/color] typ; [color=#00008B]public[/color] [color=#2B91AF]RaidWpis[/color]([color=#00008B]int[/color] id,[color=#2B91AF]String[/color] nazwa) { setNazwa(nazwa); setId(id); } [color=#00008B]public[/color] [color=#00008B]int[/color] getId(){ [color=#00008B]return[/color] id; } [color=#00008B]public[/color] [color=#00008B]void[/color] setId([color=#00008B]int[/color] id){ [color=#00008B]this[/color].id = id; } [color=#00008B]public[/color] [color=#2B91AF]String[/color] getNazwa() { [color=#00008B]return[/color] nazwa;} [color=#00008B]public[/color] [color=#00008B]void[/color] setNazwa([color=#2B91AF]String[/color] nazwa) { [color=#00008B]this[/color].nazwa = nazwa; } [color=#00008B]public[/color] [color=#2B91AF]String[/color] toString() { [color=#00008B]return[/color] [color=#00008B]this[/color].nazwa; } [color=#00008B]public[/color] [color=#2B91AF]String[/color] toString2() { [color=#00008B]return[/color] [color=#00008B]this[/color].id+[color=#800000]" - "[/color]+nazwa; } [color=#000000][font=Consolas]}[/font][/color] a w activity korzystam z tego tak: [color=#2B91AF][font=Consolas]RaidWpis[/font][/color][color=#000000][font=Consolas][][/font][/color][color=#000000][font=Consolas] items [/font][/color][color=#000000][font=Consolas]=[/font][/color][color=#000000][font=Consolas] [/font][/color][color=#000000][font=Consolas]{[/font][/color] [color=#00008B]new[/color] [color=#2B91AF]RaidWpis[/color]([color=#800000]1[/color], [color=#800000]"aaaa"[/color]), [color=#00008B]new[/color] [color=#2B91AF]RaidWpis[/color]([color=#800000]3[/color], [color=#800000]"bbbb"[/color]), [color=#00008B]new[/color] [color=#2B91AF]RaidWpis[/color]([color=#800000]6[/color], [color=#800000]"cccc"[/color]), [color=#00008B]new[/color] [color=#2B91AF]RaidWpis[/color]([color=#800000]11[/color], [color=#800000]"dddd"[/color]), [color=#00008B]new[/color] [color=#2B91AF]RaidWpis[/color]([color=#800000]17[/color], [color=#800000]"eeee"[/color]),};mainListView = ([color=#2B91AF]ListView[/color]) findViewById( R.id.mainListView );[color=#2B91AF]ArrayAdapter[/color]<[color=#2B91AF]RaidWpis[/color]> raidList = [color=#00008B]new[/color] [color=#2B91AF]ArrayAdapter[/color]<[color=#2B91AF]RaidWpis[/color]>([color=#00008B]this[/color], R.layout.simplerow, items);[color=gray]// Create ArrayAdapter using the raid list. [/color][color=#000000][font=Consolas]mainListView[/font][/color][color=#000000][font=Consolas].[/font][/color][color=#000000][font=Consolas]setAdapter[/font][/color][color=#000000][font=Consolas]([/font][/color][color=#000000][font=Consolas]raidList[/font][/color][color=#000000][font=Consolas]);[/font][/color] jak widać na twardo testowo dodaje do items kolejne wpisy, tylko jak to obejść żeby mógł sobie dodawać te pola z FORa (po 1 wpisie). z góry dziękuje
  11. Witam, podczas tworzenia nowej listy ListView która zawiera ilość elementów których jest więcej niż może pomieścić ekran, elementy trzeba scrollować. Jak ustawić aby były wyświetlone wszystkie elementy listy i scroll nie dotyczył ListView a głównego Layoutu? View image: listviewscrollerr tutaj screen jak ListView działa obecnie. Docelowo chciałbym aby podczas scrolowania znikał na górze napis "Hello World, ListViewScrollErrorActivity". Ma ktoś jakieś pomysły? Z tego co do tej pory wyszukałem to: 1. można zrezygnować z Adaptera i wstawić elementy na sztywno do elementu Layout: row = (LinearLayout) inflater.inflate(R.layout.xx, null); TextView ti = (TextView) row.findViewById(R.id.tvXxx); ti.setText("#pingpong"); layout.addView(row); 2. Ustawić wysokość elementu ListView na sztywno w px, ale wtedy jest problem z obliczeniem wysokości elementów listy gdy tekst jest długi i musi być zwijany... Tutaj kod: main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ListView android:id="@+id/listView1" android:layout_height="wrap_content" android:layout_width="match_parent"></ListView> </LinearLayout> item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5px"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/linearLayout1"> <TextView android:layout_height="wrap_content" android:text="#1" android:gravity="left" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:id="@+id/tv1"></TextView> <TextView android:layout_height="wrap_content" android:text="31-07-2012 14:00" android:gravity="right" android:layout_width="fill_parent" android:textAppearance="?android:attr/textAppearanceSmall" android:id="@+id/tv2"></TextView> </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/tv3" android:textStyle="bold" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Opis" android:paddingTop="1px" android:paddingBottom="1px"/> </LinearLayout> </LinearLayout> package com.err; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TableRow; import android.widget.TextView; public class ListViewScrollErrorActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); List strings = new ArrayList<String>(); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); strings.add("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); final StringsAdapter ja = new StringsAdapter(this, R.layout.item, strings); ListView lv = (ListView)findViewById(R.id.listView1); lv.setAdapter(ja); } public class StringsAdapter extends ArrayAdapter<String> { private Context context; private List<String> data; public StringsAdapter(Context context, int textViewResourceId, List<String> data) { super(context, textViewResourceId, data); this.context = context; this.data = data; } public int getCount() { return this.data.size(); } public String getItem(int index) { return this.data.get(index); } public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; if (row == null) { LayoutInflater inflater = (LayoutInflater) this.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); row = inflater.inflate(R.layout.item, parent, false); } String str = getItem(position); TextView ti = (TextView) row .findViewById(R.id.tv3); ti.setText(str); return row; } } }
  12. Tolk Wimasz

    Justowanie ListView

    Witam, Chciałbym programowo zmienić justowanie ListView. row.xml: <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rowTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingBottom="10sp" android:paddingTop="10sp" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="20sp" /> fragment kod: TextView tvrow = (TextView) findViewById(R.id.rowTextView); tvrow.setGravity(Gravity.CENTER); // <- tu wywala błąd lessonItems = new ArrayList<String>(); aa = new ArrayAdapter<String>(this, R.layout.row, lessonItems); lvLekcje.setAdapter(aa); Oczywiście mógłbym layout row.xml na stałe ustawić na center ale chcę różnie justować ListView. Można także stworzyć kilka row.xml z różnym justowaniem. Ale wolałby zrobić to programowo. A z innej beczki, jak można w ListView wyróżniać jakieś pozycje? Np. aby wybrana pozycja/pozycje miały inny kolor.
  13. Grzegosh

    Button pod ListView

    Witam. Mam - zapewne banalny - problem. Mam ListView i chciałbym pod nim umieścić button, ale nie sztywno by był zawsze na dole nawet jak lista jest przewijana, tylko taki, którego nie widać, a pojawia się dopiero po przewinięciu na dół ("trzyma" się listy, jest jakby jej ostatnim elementem). Kombinowałem z Layoutami, ale nic mi nie wychodziło. Dziękuję.
  14. Proszę zwrócić uwagę na komentarze: public Cursor fetchAllItemsInExpenses() { return SQLDb.query(TABLE_EXPENSES, new String[] {KEY_ROWID, EXPENSE_CATEGORY, EXPENSE_VALUE, EXPENSE_DATE}, null, null, null, null, null); } private void fillData() { Cursor itemCursor = db.fetchAllItemsInExpenses(); startManagingCursor(itemCursor); /dwie poniższe linie dodałem chcąc formatować daną z tabeli do formatu 0.00 i najwyraźniej nie da się tego zrobić w ten sposób bo wywala ForceClose (bez tych 2 linii program działa, wczytuje mi do listy dane FLOAT z tabeli) NumberFormat formatter = new DecimalFormat(".00"); String value = formatter.format(CfmDbAdapter.EXPENSE_VALUE); String[] from = new String[]{CfmDbAdapter.EXPENSE_CATEGORY, value, CfmDbAdapter.EXPENSE_DATE}; int[] to = new int[]{R.id.expense_category_name, R.id.expense_value, R.id.expense_date}; SimpleCursorAdapter items = new SimpleCursorAdapter(this, R.layout.expenses_list_item, itemCursor, from, to); setListAdapter(items); } Szukam poprawnego sposobu na sformatowanie wyświetlanych w liście danych do formatu 0.00 (a najlepiej walutowego) Z tabeli dostawałem float i to najwyraźniej jest typ wymagany przez kursor (nie wiem w sumie czemu, pozostale pobierane typy to string i date).
  15. deadswine

    ListView problem z wydobyciem textstu

    Witam mam problem z wydobyciem text z listView oto kod jakiego używam: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.LiniaCzasu); listStatus = (ListView) findViewById(R.id.listStatus); listStatus.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> av, View v, int pos, long id) { onListItemClick(v, pos, id); } }); } protected void onListItemClick(View v, int pos, long id) { Log.i(TAG, "onListItemClick id=" + id); TextView textView = (TextView) v.findViewById(R.id.listStatus); String text = textView.getText().toString(); // niestety ten sposób zwraca null point exception i nie potrafie sobie z tym drugi dzien poradzić a google nie pomaga za bardzo Log.i(TAG, "onListItemClick tekst=" + text); }
  16. msbajabongo

    listview+radiobutton

    Witam Jako poczatkujacy w tworzeniu aplikacji na androida mam może prozaiczne pytanie : utworzyłem activity z listView którego elemantami są textView+radiobutton Dodałem własną obsługę setOnItemClickListener Tyle że wygląda to tak, że jak zaznaczam jeden radiobutton to również zaznacza się inny - dokładnie ten którego w danej chwili nie widać na ekranie. Jeśli mam na liście widoczne 4 pozycję a 5 jest niewidoczna to zaznaczajac radiobutton pierwszy również zanzacza się 5 :( I niestety nie wiem czemu Czy ktoś może mi w tym pomóc ??
  17. Witam ! Zaczynam programowanie w androidzie i nie mogę sobie poradzić w wyżej wymienionym temacie. Mam stworzony ListView, chciałbym aby podświetlenie, które następuje w momencie wybierania konkretnej pozycji pozostało na ekranie również po wyborze. W tym momencie mi znika, co prawda zapisuje sobie id pozycji z listy, którą potem mogę edytować czy usuwać ale dla lepszej widoczności chciałbym aby pozostało dopóki nie wybiorę następnej pozycji. Z góry dzięki za pomoc.
  18. beerbox

    ListView z obrazkiem i tekstem

    Witam potrzebuje jakiś przykładzik jak zrobić listView gdzie w jednym wierszu będzie obrazek a obok niego tekst. Jeżeli ktoś coś takiego ma to będę wdzięczny. Pozdrawiam!
  19. jestemnawakacjach

    ImageView onClickListener w ListView

    A wiec, mam sobie ListView, ListView zawiera ImageView a to ImageView ma zaimplementowany OnClickListener. Problemem jest wykrycie, w której celi został kliknięty ImageView. Dla ścisłości, nie chodzi mi tutaj o OnItemClickListener w ListvView. Dzięki za wszelką pomoc. Pozdrawiam. EDIT: Generalnie wydumany problem sobie stworzyłem. Wystarczyło do Listnera przekazać pozycje z getView i po sprawie. Można Zamknąć/Skasować
  20. vini

    Zaawansowany ListView

    Witam Właśnie zacząłem się bawić w programowanie na androida i napotkałem na problem, którego nie potrafię rozwiązać. Chce zrobić ListView z paroma polami (coś takiego http://www.helloandroid.pl/2009/12/lekcja-1-wasny-listview.html ) problem mam aby wypełnić tą listę danymi z tabeli - wszędzie są tutoriale jak wypełnić prosty ListView danymi z tabeli lub zaawansowany ListView pobierając dane z bazy danych czy jak w powyższym przykładzie pobierając dane "z telefonu" z tego wszystkiego zaciąłem się na Cursor - jak go wykorzystać przy zwykłej tabeli ? da się to zrobić ? może macie jakiś opis jak się tym posługiwać ? Dzięki za pomoc ---- po wielogodzinnych poszukiwaniach znalazłem sposób by wykonać to co chciałem rozwiązaniem jest MatrixCursor przykład jak z tego skorzystać jest TU
x