java - 如何在列表片段AndroidStudio中添加图像和文本
问题描述
我在 Android Studio 中创建了一个导航抽屉。在导航抽屉的片段中,我想添加一个带有图像和文本的 ListView。但是在我运行程序并单击片段程序崩溃并显示文本“不幸的是,SerialMania 已停止”之后。我做错了什么?
package com.example.tabaq.kit;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import com.example.tabaq.R;
import com.example.tabaq.activities.MainActivity;
import com.example.tabaq.adapters.AdapterAbout;
public class FragmentAbout extends Fragment {
SimplelistView SimplelistView;
String[] titleId;
String[] subtitleId;
private MainActivity mainActivity;
private Toolbar toolbar;
Integer[] imageId = {
R.drawable.ic_other_appname,
R.drawable.ic_other_build,
R.drawable.ic_other_email,
R.drawable.ic_other_copyright,
R.drawable.ic_other_share,
R.drawable.ic_other_rate,
R.drawable.ic_other_more
};
public FragmentAbout() {
// Required empty public constructor
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mainActivity = (MainActivity)activity;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_about, container, false);
setHasOptionsMenu(true);
toolbar = (Toolbar) rootView.findViewById(R.id.toolbar);
setupToolbar();
titleId = getResources().getStringArray(R.array.title);
subtitleId = getResources().getStringArray(R.array.subtitle);
AdapterAbout adapter = new AdapterAbout(getActivity(), titleId, subtitleId, imageId);
SimplelistView = (ListView) rootView.findViewById(R.id.list);
SimplelistView.setAdapter(adapter);
SimplelistView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 4) {
Intent sendInt = new Intent(Intent.ACTION_SEND);
sendInt.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
sendInt.putExtra(Intent.EXTRA_TEXT, getString(R.string.app_name) + "\n" + getString(R.string.share_text) + "\n" + "https://play.google.com/store/apps/details?id=" + getActivity().getPackageName());
sendInt.setType("text/plain");
startActivity(Intent.createChooser(sendInt, "Share"));
}
if (position == 5) {
final String appName = getActivity().getPackageName();
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appName)));
}
}
if (position == 6) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.play_more_apps))));
}
}
});
return rootView;
}
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.main, menu);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mainActivity.setupNavigationDrawer(toolbar);
}
private void setupToolbar(){
toolbar.setTitle(getString(R.string.drawer_about));
mainActivity.setSupportActionBar(toolbar);
}
}
请帮助.. 我在 Android Studio 中创建了一个导航抽屉。在导航抽屉的片段中,我想添加一个带有图像和文本的 ListView。但是在我运行程序并单击片段程序崩溃并显示文本“不幸的是,SerialMania 已停止”之后。我做错了什么?
解决方案
推荐阅读
- php - 命名空间 MongoDB\BSON 和 MongoDB\Drivers 丢失
- c++ - OpenCL.clSetKernelArg 返回 -51
- security - Kubernetes 集群的 CIS 基准测试问题
- svg - 为什么我只能在 feDeformationMap 中使用 SourceGraphic 作为 in2?
- python - 如何在逻辑回归中进行拟合?
- r - 将 ggplot 对象存储为 R 数据框中的元素时出错
- php - 检查自定义帖子类型类别中是否已存在帖子名称
- javascript - 返回的主键整数在查找时递增
- python-3.x - 如何在 python folium 地图上添加点击事件
- javascript - 尝试设置窗口高度,但在 react.js 中出现错误