Pessoal, é o seguinte, quero colocar um filtro no topo da tela, que quando a pessoa colocar a mark 1,2,3 etc. Ele de um scroll até o mark ficar na primeira linha de um text area que ficará em baixo do filtro. É possivel?
Não entendi sua pergunta
tenho um texto dentro de um text area. Eu quero “scrollar” até um determinado ponto do text area, apartir de um botao ir.
por exemplo… tenho um texto enorme. e 3 botoes
inicio | meio | fim
quero que esses botoes sejam o scroll do texto porem, eu posso scrollar também clicando a e arrastando no texto.
Sei que componentes escrolaveis tem um método scrollTo (e scrollBy) procure algo semelhante no TextArea.
http://developer.android.com/reference/android/widget/ScrollView.html
bom, aqui tem o metodo scrollTo. Porem é por posicionamento, este texto pode ser de 10 linhas ou de 1000 linhas, preciso de algo que tenha realmente uma marca tipo
paragrafo 1 começa x e termina y.
Porem, caso seja em um tablet, sera diferente de um cel com tela menor.
e agora? hehehe
Por TextArea você diz que usa um EditText ou TextView gigante certo?
No caso do EditText, o método getText() retorna um Spannable que pode ser usado para grifar texto, tente enviar um highlight onde voce quer que o texto seja posicionado. Não sei se funciona, mas acredito que ele mudaria o foco para o ponto que voce quer,
tem como “quebrar” esse texto?
Vc quer pesquisar itens em uma lista?
eu quero fazer o leitor de um livro.
esse livro tem uma coleção de livros capitulos e paragrafos.
eu quero que, de pra selecionar em um menu de 3 combos
Livros | Capitulo | paragrafo
em baixo desse menu de 3 combos tem um text view que de inicio nao aparece nada.
Quando eu clicar em um botao ir, ele vai pesquisar em livro capitulo e paragrafo, qual o conteudo desse texto. Preenche o text e pronto.
POREM
eu quero que venha o capitulo inteiro do livro sempre, mas que Role até a tela como um site que tem scroll automatico para o topo da pagina, porem para o paragrafo selecionado.
Deu pra sacar?
voce me deu uma grande ideia…
cada paragrafo pode ficar dentro de um item de uma listview.
fica pelo menos mais facil de caso eu queira selecionar o texto, enviar pra alguem etc etc… vlw mesmo
Porem ainda estou com o problema de ele rolar a list view no caso para o meio, ou fim dela. Lembrando que o tamanho da list é variavel.
Eu tenho um exemplo aqui comigo que faz a pedquisa numa ListView atraves de um EditText. Se quiser posso postar aki, talvez te ajude.
cara posta ae pls
ou me envia no meu e-mail. vou te mandar uma mp
É bem simples, mas te dar alguma ajuda:
main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/eText"
android:hint="Pesquisar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop= "true" />
<ListView
android:id="@+id/lView"
android:layout_below="@id/eText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
[/code]
um adapter.xml
[code]
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:fastScrollEnabled="true"
style="?android:attr/dropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLargePopupMenu"
android:textColor="#FFF300" />
[/code]
MainActivity.java
[code]
package listview.pesquisar;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.view.View;
public class MainActivity extends Activity {
private String[] lstFrutas;
private ListView lView;
private View v;
private EditText eText;
private ArrayList<String> pesquisa = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Declarando os objetos do main.xml
lView = (ListView) findViewById(R.id.lView);
eText = (EditText) findViewById(R.id.eText);
lstFrutas = new String[] { "Abacate", "Abacaxi", "Banana", "Carambola", "Goiaba", "Jabuticaba", "Laranja", "Maçã", "Melancia", "Morango" } ;
lView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.adapter_layout, lstFrutas));
if (position % 2 == 0) {
v.setBackgroundResource(R.drawable.list_selector2);
} else {
v.setBackgroundResource(R.drawable.list_selector1);
}
// Função responsável pela pesquisa
Pesquisar();
eText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence arg0, int arg1, int arg2 , int arg3) {
Pesquisar();
lView.setAdapter(new ArrayAdapter<String>(MainActivity.this , android.R.layout.adapter_layout, pesquisa)); } }); }
public void Pesquisar() {
int textlength = eText.getText().length();
pesquisa.clear();
for (int i = 0; i < lstFrutas .length; i++ ) {
if (textlength <= lstFrutas[i].length()) {
if (eText.getText().toString().equalsIgnoreCase((String)lstFrutas[i].subSequence(0, textlength))) {
pesquisa.add(lstFrutas[i]); } } } } }
O ListView possui o método setSelection(int position) que você pode usar para navegar para um item especifico.
VLLLLWWWWW!!!