Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By jrxxjr
      Sou iniciante em Android, e fiz uma pequena aplicação Android de teste, usando Java, para aprender a utilizar um ListView com botões, e tive um problema. Os botões não funcionam direito, as vezes eu clico em cima do Edit, ele muda a mensagem para clicado, "Edit", confirmando que eu cliquei ai. Mas tem vezes que eu clico no botão Delete, e depois no botão Edit, e o texto não é mudado, ou seja o evento click não funcionou, se eu coloco um break point, no código-fonte, onde está entrando no evento setOnItemClickListener. Mas a mensagem exibida, não está correta.
      E tem um outro erro, de funcionamento do AlertDialog, da mensagem de confirmação de deleção.
      O código-fonte está abaixo.
      Por favor, alguém poderia me ajudar ?
       
      AgendaActivity.java
      package com.test.android.view; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.test.android.model.Agenda; import com.test.android.util.Util; public class AgendaActivity extends AppCompatActivity { ListView listview; MyArrayAdapter agendaArrayAdapter; ArrayList<AgendaTo> agendaArray = new ArrayList<AgendaTo>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_agenda); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Nick", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("John", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Anthony", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("James", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jack", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()), Util.fillSpaces("Jeremy", 50))); agendaArray.add(new AgendaTo(sdf.format(new Date()),Util.fillSpaces("Long", 50))); agendaArrayAdapter = new MyArrayAdapter(AgendaActivity.this, R.layout.list_item, agendaArray); listview = (ListView) findViewById(R.id.listView); listview.setItemsCanFocus(false); listview.setAdapter(agendaArrayAdapter); listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, final int position, long id) { Toast.makeText(AgendaActivity.this, "List Item Clicked:" + position, Toast.LENGTH_LONG) .show(); } }); } } MyArrayAdapter.java
      package com.test.android.view; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.text.SimpleDateFormat; import java.util.ArrayList; public class MyArrayAdapter extends ArrayAdapter<AgendaTo> { Context context; int layoutResourceId; ArrayList<AgendaTo> agendas = new ArrayList<AgendaTo>(); public MyArrayAdapter(Context context, int layoutResourceId, ArrayList<AgendaTo> agendas) { super(context, layoutResourceId, agendas); this.layoutResourceId = layoutResourceId; this.context = context; this.agendas = agendas; } @Override public View getView(int position, View convertView, ViewGroup parent) { View item = convertView; AgendaWrapper agendaWrapper = null; if (item == null) { LayoutInflater inflater = ((Activity) context).getLayoutInflater(); item = inflater.inflate(layoutResourceId, parent, false); agendaWrapper = new AgendaWrapper(); agendaWrapper.nome = (TextView) item.findViewById(R.id.textNome); agendaWrapper.data = (TextView) item.findViewById(R.id.textData); agendaWrapper.edit = (Button) item.findViewById(R.id.btnEdit); agendaWrapper.delete = (Button) item.findViewById(R.id.btnDelete); item.setTag(agendaWrapper); } else { agendaWrapper = (AgendaWrapper) item.getTag(); } AgendaTo agenda = agendas.get(position); agendaWrapper.nome.setText(agenda.getNome()); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); agendaWrapper.data.setText(sdf.format(agenda.getData())); agendaWrapper.edit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Edit", Toast.LENGTH_LONG).show(); } }); final int absolutePsition = position; final AgendaWrapper itemDelete = agendaWrapper; final ViewGroup viewGroup = parent; agendaWrapper.delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(context, "Delete " + absolutePsition, Toast.LENGTH_LONG).show(); AlertDialog diaBox = AskOption(itemDelete, absolutePsition, viewGroup); diaBox.show(); } }); return item; } private AlertDialog AskOption(AgendaWrapper agendaWrapper, int position, final ViewGroup viewGroup) { final int deletePosition = position; AlertDialog myQuittingDialogBox = new AlertDialog.Builder(context) .setTitle("Delete") .setMessage("Do you want to Delete") .setPositiveButton("Delete", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { agendas.remove(deletePosition); refreshListView(agendas, viewGroup); dialog.dismiss(); } private void refreshListView(final ArrayList<AgendaTo> agendas, final ViewGroup viewGroup) { final MyArrayAdapter myArrayAdapter = new MyArrayAdapter(context, R.layout.list_item, agendas); final LayoutInflater inflater = ((Activity) context).getLayoutInflater(); final View view = inflater.inflate(layoutResourceId, viewGroup, false); final ListView listview = (ListView) view.findViewById(R.id.listView); listview.setAdapter(myArrayAdapter); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .create(); return myQuittingDialogBox; } static class AgendaWrapper { TextView nome; TextView data; Button edit; Button delete; } } list_item.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp" tools:context=".AgendaActivity" > <TextView android:id="@+id/textNome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Nome:" android:width="50dp" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/textData" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textData" android:layout_alignTop="@id/textNome" android:layout_alignRight="@id/textNome" android:layout_alignParentLeft="true" android:layout_marginTop="5dp" android:width="50dp" android:text="Data:" android:textAppearance="?android:attr/dateTextAppearance" android:textSize="16sp" /> <Button android:id="@+id/btnEdit" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Edit" android:textColor="#FFFFFF" /> <Button android:id="@+id/btnDelete" android:layout_width="80dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_below="@+id/btnEdit" android:layout_marginTop="3dp" android:background="#99CC" android:focusable="false" android:focusableInTouchMode="false" android:text="Delete" android:textColor="#FFFFFF" /> </RelativeLayout> activity_agenda.xml
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#990044" tools:context="com.test.android.view.AgendaActivity" > <TextView android:id="@+id/listLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Touch List" android:textColor="#FFFFFF" android:textSize="25sp" /> <ListView android:id="@+id/listView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/listLabel" android:layout_marginTop="5dp" android:cacheColorHint="#FFFFFF" /> </RelativeLayout>  
    • By marale1994
      Recentemente, li vários artigos em que eles falam sobre alguns aplicativos para ganhar dinheiro com cashback... A verdade me parece muito interessante porque perdi meu emprego recentemente e preciso ganhar dinheiro urgente, mas não sei a eficácia desses aplicativos. Um deles é o Pagamento Agua App! Alguém aqui já o usou ou sabe alguma coisa sobre isso?
      Entendo que este aplicativo me dá 5% de reembolso pelo pagamento de contas de amigos e familiares. Também me dá dicas para aumentar os lucros com um blog ou com redes sociais...
      A verdade me parece interessante, mas como eu disse, ainda não a usei. 
       
      De qualquer forma, deixe o link lá, caso alguém queira saber mais!
      Qualquer informação pode ser útil... Se você não a conhece, pelo menos seria ótimo recomendar outros apps para ganhar dinheiro em casa. Por favor e obrigada!!! 
    • By thekingowl
      Mala Vermelha
       
      Depois de quase dois anos de desenvolvimento, tive o prazer de ter meu jogo finalmente lançado na Play Store. Ele foi desenvolvido em uma plataforma para jogos browser, chamada Twine. Com algumas linhas de código em Java para adequar ao Mobile e convertido através do PhoneGap, consegui fazer a versão mobile para Android.
       
      Em "Mala Vermelha" você viverá a história da Policial Muriel. Entendiada na cidade pequena, Muriel tem sua vida alterada quando uma mala vermelha aparece na meio da cidade. É o início da aventura de Muriel, tentando capturar um assassino, antes que ele termine seu plano. Você tomará as decisões durante a investigação, levando Muriel aos mais diversos locais da cidade, em busca de pistas para desvendar o padrão do assassino. Enfrente não só o assassino, mas como os cidadãos da cidade.
       
      Totalmente em português, "Mala Vermelha" faz com que cada detalhe apresentado na história, possa ser utilizado para desvendar o enigma do assassino. Cada decisão a levará a um destino diferente. Com múltiplos finais, "Mala Vermelha" fará com que você escolha qual o melhor desfecho para o seu estilo de jogo. Não existe certo ou errado. Você decide.
       
      Mala Vermelha na Play Store: https://bit.ly/2XSfImx
      Blog: https://thekingowlgames.blogspot.com/2020/04/mala-vermelha_20.html
    • By Thamiris Paiano
      Olá,   Meu nome é Thamiris, sou aluna de Ciências Contábeis e estou em fase de elaboração do meu TCC, através do desenvolvimento de artigo.   Meu projeto de TCC é sobre jogos digitais. Mais especificamente sobre a fase de desenvolvimento dos games. Mas por que uma aluna de ciências contábeis, está fazendo um trabalho envolvendo jogos digitais?   Porque eu e minha colega de TCC, Aline, percebemos o quanto essa área esta crescendo e resolvemos estudar como a contabilidade pode ser uma ferramenta útil aos desenvolvedores de jogos digitais, referenciando o tratamento dos custos, despesas, receitas e demais operações que os desenvolvedores realizam no seu dia a dia de trabalho, visando o lucro do seu negócio.   Como estamos realizando uma pesquisa de campo, gostaria de saber se poderia responder algumas perguntas para compor os dados do nosso artigo cientifico? E nos indicar alguns desenvolvedores?   Segue o link do formulário:   https://forms.gle/GW2wiGyXzRzdCqxZ9
         
      Deixo aqui nossos e-mails para contato: Aline Lippi: aline-lippi@hotmail.com Thamiris Paiano: thamirispaiano@gmail.com   Desde já agradecemos!
    • By NoLifeDEV
      Já consegui a equipe!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.