我想在列表视图的每一行中获得不同的颜色
但目前只显示一种颜色
那我怎么能这样做呢
ArrayAdapter<String> adapter=new ArrayAdapter<String(this,R.layout.latesthappenings,R.id.LH_Titles,titles);
setListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
我想在每一行中使用不同的颜色
请告诉我该怎么办
谢谢
我有一个扩展ArrayAdapter的内部类,以便自定义ListView.我想将这个内部类分解为一个单独的文件,以便其他类可以使用它,但在getLayoutInflater()时遇到一些问题.
基本上,我的getView()方法不知道getLayoutInflater()是什么,即使我正在扩展ArrayAdapter.任何人都知道如何正常工作?
谢谢!
public class myDynAdap extends ArrayAdapter<String>
{
String [] list;
public myDynAdap (Context context, int textViewResourceId, String [] objects)
{
super (context, textViewResourceId, objects);
mCtx = context;
list = objects;
}
@Override
public View getView (int position, View convertView, ViewGroup parent)
{
View row = convertView;
if (row == null)
{
LayoutInflater inflater = getLayoutInflater (); // <--- "The method getLayoutInflater() is undefined for the type myDynAdap"
row = inflater.inflate (R.layout.main_listitem, parent, false);
}
TextView tv1 = (TextView) …Run Code Online (Sandbox Code Playgroud) 我有两个简单的活动 - 活动1:来自Array Activity2的ListView:EditText,用于编辑Activity1中单击的行
当我在Activity2中编辑值并返回到Activity1时,ListView不会重新加载新值.
我想从Activity2返回或恢复Activity1或更新列表的东西时刷新ListView.
我的代码:
static ArrayAdapter<String> dataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Loading the values to list array
String[][] fulllist = loadArrays();
String[] list = new String[fulllist.length];
for(int i = 0; i<fulllist.length; i++) {
list[i] = fulllist[i][1];
}
// --------------------------------
dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
list);
setListAdapter(dataAdapter);
}
@Override
public void onResume() {
super.onResume();
// Loading the values to list array
String[][] fulllist = loadArrays();
String[] list = new String[fulllist.length];
for(int i = 0; …Run Code Online (Sandbox Code Playgroud) 现在我使用setAdapter更新我的ListView,但我认为正确的方法是使用notifiyDatasetChanged(),我不能让它在我的主类(它在适配器中)工作.这是错误:
对于ListAdapter类型,方法notifyDatasetChanged()未定义
我猜这有更好的方法 - 有人能指出我正确的方向吗?
这是我的代码的相关部分:
public class ScoreList extends SherlockFragmentActivity {
private ListView listViewScore;
static List<Score> listScore = new ArrayList<Score>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.score_list);
ctx = this;
listScore = dbh.getAllScores();
listViewScore = (ListView) findViewById(R.id.score_list);
listViewScore.setAdapter(new ScoreListAdapter(ctx,
R.layout.score_row_item, listScore));
listViewScore.getAdapter().notifyDatasetChanged(); //this is where I get the error
}
}
Run Code Online (Sandbox Code Playgroud)
这是适配器:
public class ScoreListAdapter extends ArrayAdapter<Score> {
private int resource;
private LayoutInflater inflater;
public ScoreListAdapter(Context ctx, int resourceId, List<Score> objects) {
super(ctx, resourceId, objects);
resource = resourceId; …Run Code Online (Sandbox Code Playgroud) 我有一个自定义适配器,布局中有一个复选框。我可以在 CheckBox 上使用 setOnClickListener 而不出现问题吗?还是最好使用 setOnCheckedChangeListener?
代码:
public class MyAdapter extends ArrayAdapter<Object> {
private Context context;
private LayoutInflater mInflater;
private boolean[] selected;
public MyAdaptader(Context context, List<Object> list) {
super(context, 0, list);
this.context = context;
mInflater = LayoutInflater.from(context);
selected = new boolean[list.size()];
}
private OnClickListener pressed= new OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox) v).isChecked())
selected[(Integer)v.getTag()] = true;
else
selected[(Integer)v.getTag()] = false;
}
};
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == …Run Code Online (Sandbox Code Playgroud) 也许我只是因为好奇而问错了问题.我通过扩展数组适配器来创建自定义适配器.现在我想在GridView中显示它.我已经阅读了很多文章,我发现它们只使用基本适配器来显示GridView.请大家告诉我这背后的逻辑是什么?我们可以使用Array适配器代替Base Adapter吗?
有没有办法在设计支持 TabLayout 中动态更新选项卡的标题?我尝试在 Adapter 中添加一个方法,该方法更改保存选项卡标题的 ArrayList 的内容并通知适配器,但选项卡标题不会更改为新标题。
适配器:
public class TabAdapter extends FragmentPagerAdapter {
private final List<Fragment> fragments = new ArrayList<>();
private final List<String> fragmentTiles = new ArrayList<>();
public TabAdapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment, String title) {
fragments.add(fragment);
fragmentTiles.add(title);
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentTiles.get(position);
}
public void setFragmentTiles(int index, String title) {
fragmentTiles.set(index, title);
Log.e("ARRAY", …Run Code Online (Sandbox Code Playgroud) arraylist android-arrayadapter android-design-library androiddesignsupport android-tablayout
我从中获取一些数据FirebaseDatabase然后将它们放入一个array然后尝试List在一个自定义中显示它们AlertDialog.
这是代码:
query = mDatabase.child("child").child(anotherChild).child("yetAnotherChild");
uProfile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
query.orderByChild("someChild").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot != null) {
Map<String, String> newD = (Map<String, String>) dataSnapshot.getValue();
ArrayList<String> l = new ArrayList<String>();
l.add(newD.get("lol").substring(30));
String names[] = l.toArray(new String[0]);
AlertDialog.Builder alertDialog = new AlertDialog.Builder(Activity.this);
LayoutInflater inflater = getLayoutInflater();
View convertView = inflater.inflate(R.layout.dialog_list, null);
alertDialog.setView(convertView);
alertDialog.setTitle("title");
ListView lv = (ListView) convertView.findViewById(R.id.lv);
ArrayAdapter<String> adapter = …Run Code Online (Sandbox Code Playgroud) android android-arrayadapter android-alertdialog firebase firebase-realtime-database
我是 Kotlin 的 Android 开发新手。在遵循教程项目时,我需要使用ArrayAdapter自定义类。构建项目失败并出现错误。
MainActivity.kt 类抛出错误:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
}
val dm = DataManager()
val adapterCourses = ArrayAdapter<CourseInfo>(
context = this,
android.R.layout.simple_spinner_item,
dm.courses.values.toList()
)
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will …Run Code Online (Sandbox Code Playgroud) 我正在尝试将文本设置到EditText我的自定义适配器内部,并且我得到了这个堆栈:
java.lang.NullPointerException: Attempt to read from field 'android.support.v7.widget.ViewInfoStore android.support.v7.widget.RecyclerView.mViewInfoStore' on a null object reference
at android.support.v7.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:8194)
at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8180)
at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:8168)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1573)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812)
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3225)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1260)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.widget.ScrollView.onMeasure(ScrollView.java:337)
at android.view.View.measure(View.java:17547)
at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1676)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:141)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) …Run Code Online (Sandbox Code Playgroud)