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を持っている私に
最初に感謝します。 –
しかし、私はcom_underにこのコードを追加すると動作しませんでした –
あなたがcom_underでやりたければ、list1.setOnItemClickListenerではなくlist1.setOnClickListenerを使う必要がありますか? –