2016-10-11 15 views
0

カスタムリストビューのアイテムをクリックすると、別のアクティビティに移動する方法は? 私は多くの方法を実装していません結果、私はいくつかの間違いが私のコードにあると思う。カスタムリストビュー内の任意の項目をクリックしては何のカスタムリストビューでアイテムをクリックすると、別のアクティビティに移動する方法は?

<!-- begin snippet: js hide: false console: true babel: false --> 

<!-- language: lang-js --> 

package com.example.asus.myapplication; 

import android.app.Activity; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.ImageButton; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 
public class CustomListAdapter extends ArrayAdapter<String> { 
    private final Activity context; 
     private final String[] itemname; 
     private final Integer[] imgid; 
    public CustomListAdapter(Activity context, String[] itemname, Integer[] imgid) { 
      super(context, R.layout.mylist, itemname); 
      this.context=context; 
      this.itemname=itemname; 
      this.imgid=imgid; 
     } 
    public View getView(final int position, View view, ViewGroup parent) { 
      LayoutInflater inflater=context.getLayoutInflater(); 
      View rowView=inflater.inflate(R.layout.mylist, null,true); 
      TextView txtTitle = (TextView) rowView.findViewById(R.id.item); 
      ImageView imageView = (ImageView) rowView.findViewById(R.id.icon); 
      txtTitle.setText(itemname[position]); 
      imageView.setImageResource(imgid[position]); 
      rowView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Toast.makeText(context, "You Clicked "+itemname[position], Toast.LENGTH_LONG).show(); 
       } 
      }); 
      return rowView; 
       } 
      }; 







<!-- language: lang-html --> 

パッケージcom.example.asus.myapplicationしません

com_underのXML 。

import android.app.SearchManager; 
import android.content.Context; 
import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.support.v7.widget.PopupMenu; 
import android.support.v7.widget.SearchView; 
import android.support.v7.widget.Toolbar; 
import android.view.ContextMenu; 
import android.view.Gravity; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.View; 
import android.widget.Adapter; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ImageButton; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 

import java.lang.reflect.Array; 

public class com_under extends AppCompatActivity { 
    ListView list1; 
     String[] itemname ={ 
       "COME 334-Network", 
       "COME 438-Java Programming", 
       "COME 334-Computer Games ", 
       "COME 226-Data sturctures", 
       "COME 223-Algorithms", 
     }; 
    Integer[] imgid={ 
       R.drawable.netw, 
       R.drawable.java, 
       R.drawable.game, 
       R.drawable.data_st, 
       R.drawable.algorthim, 
     }; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_com_under); 
     CustomListAdapter adapter=new CustomListAdapter(this, itemname, imgid); 
     list1=(ListView)findViewById(R.id.list_view); 
     list1.setAdapter(adapter); 
     Toolbar my_toolbar= (Toolbar) findViewById(R.id.my_toolbar); 
     setSupportActionBar(my_toolbar); 
     getSupportActionBar().setIcon(R.drawable.ic_toolbar); 
     getSupportActionBar().setTitle(null); 
     Intent searchintent = getIntent(); 
     if (Intent.ACTION_SEARCH.equals(searchintent.getAction())) { 
      String query = searchintent.getStringExtra(SearchManager.QUERY); 
      Toast.makeText(com_under.this, query, Toast.LENGTH_SHORT).show(); 
      list1.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        TextView mtext=(TextView)findViewById(R.id.item1); 
          if (position == 0) { 
           //code specific to first list item 
           Intent myIntent = new Intent(com_under.this, sign_in_screen.class); 
           startActivity(myIntent); 

          } 

       } 

      });} 

       } 









    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.side_screen, menu); 
     SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); 
     SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 
     searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); 
     return super.onCreateOptionsMenu(menu); 
    } 



    } 

あなたはGetViewメソッドにcom_under活動や

rowView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Toast.makeText(context, "You Clicked "+itemname[position], Toast.LENGTH_LONG).show(); 
       } 
      }); 
      return rowView; 
       } 
      }; 

にsetOnItemClickListenerを持っている私に

答えて

0

を助けてください。どちらも機能しないので、どちらを使用するかを決めることができます。

+0

最初に感謝します。 –

+0

しかし、私はcom_underにこのコードを追加すると動作しませんでした –

+0

あなたがcom_underでやりたければ、list1.setOnItemClickListenerではなくlist1.setOnClickListenerを使う必要がありますか? –

関連する問題