Java 唐´;在GraphView中找不到图形
我在Android Studio代码中实现了GraphView,但我没有在我的应用程序中显示图形。如果我按下读取按钮,什么也不会发生。那我该怎么办? 谢谢你的时间和回答,我很感激Java 唐´;在GraphView中找不到图形,java,android,xml,android-studio,android-graphview,Java,Android,Xml,Android Studio,Android Graphview,我在Android Studio代码中实现了GraphView,但我没有在我的应用程序中显示图形。如果我按下读取按钮,什么也不会发生。那我该怎么办? 谢谢你的时间和回答,我很感激 package yourhome; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import an
package yourhome;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.jjoe64.graphview.GraphView;
import com.jjoe64.graphview.Viewport;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.LineGraphSeries;
import java.util.Random;
import yourhome.datasource.ActivityDataSource;
import static java.lang.Thread.sleep;
public class Hauptfenster extends AppCompatActivity {
private ListView mDrawerList;
private ArrayAdapter<String> mAdapter;
private ActionBarDrawerToggle mDrawerToggle;
private DrawerLayout mDrawerLayout;
private String mActivityTitle;
private static final Random RANDOM = new Random();
private LineGraphSeries<DataPoint> series;
private int lastX = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hauptfenster);
mDrawerList = (ListView) findViewById(R.id.navList);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mActivityTitle = getTitle().toString();
addDrawerItems();
setupDrawer();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
//GraphView initialiesieren
GraphView graph = (GraphView) findViewById(R.id.graph);
//Daten
series = new LineGraphSeries<DataPoint>();
graph.addSeries(series);
//Options
Viewport viewport = graph.getViewport();
viewport.setYAxisBoundsManual(true);
viewport.setMinY(1);
viewport.setMaxY(30);
viewport.setScrollable(true);
final TextView textView = (TextView) findViewById(R.id.textView);
Button lesenBtn = (Button) findViewById(R.id.lesenBtn);
lesenBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new ActivityDataSource(textView).execute("someParams");
}
});
}
@Override
protected void onResume() {
super.onResume();
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry();
}
});
try {
Thread.sleep(600);
} catch (InterruptedException e) {
}
}
}
}).start();
}
private void addEntry() {
series.appendData(new DataPoint(lastX++, RANDOM.nextDouble() * 10d), true, 10);
}
private void addDrawerItems() {
String[] osArray = { "Kamera", "LED", "Steckdosen" };
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray);
mDrawerList.setAdapter(mAdapter);
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(Hauptfenster.this, "Coming Soon!", Toast.LENGTH_SHORT).show();
}
});
}
private void setupDrawer() {
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getSupportActionBar().setTitle("Was möchten sie einsehen ?");
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
getSupportActionBar().setTitle(mActivityTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
mDrawerToggle.setDrawerIndicatorEnabled(true);
mDrawerLayout.setDrawerListener(mDrawerToggle);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_hauptfenster, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) { return true;}
return super.onOptionsItemSelected(item);
}
}
打包回家;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.support.v4.widget.DrawerLayout;
导入android.support.v7.app.ActionBarDrawerToggle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.jjoe64.graphview.graphview;
导入com.jjoe64.graphview.Viewport;
导入com.jjoe64.graphview.series.DataPoint;
导入com.jjoe64.graphview.series.LineGraphSeries;
导入java.util.Random;
导入yourhome.datasource.ActivityDataSource;
导入静态java.lang.Thread.sleep;
公开课Hauptfenster活动{
私有列表视图mDrawerList;
私人ArrayaAdapter mAdapter;
私有操作bardrawertoggle mDrawerToggle;
私人抽屉布局mDrawerLayout;
私有字符串mactivitytle;
私有静态最终随机=新随机();
专用线图系列;
private int lastX=0;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hauptfenster);
mDrawerList=(ListView)findViewById(R.id.navList);
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
mActivityTitle=getTitle().toString();
addDrawerItems();
setupDrawer();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
//GraphView initialiesieren
GraphView图形=(GraphView)findViewById(R.id.graph);
//达顿
系列=新的LineGraphSeries();
图.addSeries(系列);
//选择权
Viewport=graph.getViewport();
viewport.setYAxisBoundsManual(true);
viewport.setMinY(1);
viewport.setMaxY(30);
viewport.setScrollable(true);
最终文本视图文本视图=(文本视图)findViewById(R.id.TextView);
按钮lesenBtn=(按钮)findViewById(R.id.lesenBtn);
lesenBtn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
新建ActivityDataSource(textView).execute(“someParams”);
}
});
}
@凌驾
受保护的void onResume(){
super.onResume();
新线程(newrunnable()){
@凌驾
公开募捐{
对于(int i=0;i<100;i++){
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
加法();
}
});
试一试{
睡眠(600);
}捕捉(中断异常e){
}
}
}
}).start();
}
专用无效补遗(){
series.appendData(新数据点(lastX++,RANDOM.nextDouble()*10d),true,10);
}
私有void addDrawerItems(){
字符串[]osArray={“Kamera”、“LED”、“Steckdosen”};
mAdapter=newarrayadapter(这是安卓.R.layout.simple\u list\u item\u 1,osArray);
mDrawerList.setAdapter(mAdapter);
mDrawerList.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(Hauptfenster.this,“马上就来!”,Toast.LENGTH_SHORT.show();
}
});
}
私有void setupDrawer(){
mDrawerToggle=newactionBarDrawerToggle(此,mDrawerLayout,R.string.drawer\u打开,R.string.drawer\u关闭){
/**当抽屉处于完全打开状态时调用*/
打开图纸上的公共空白(视图抽屉视图){
super.onDrawerOpened(抽屉视图);
getSupportActionBar().setTitle(“möchten是艾因森吗?”);
InvalidateOptions SMenu();//创建对OnPrepareOptions SMenu()的调用
}
/**当抽屉处于完全关闭状态时调用*/
公共无效onDrawerClosed(视图){
super.onDrawerClosed(视图);
getSupportActionBar().setTitle(mActivityTitle);
InvalidateOptions SMenu();//创建对OnPrepareOptions SMenu()的调用
}
};
mDrawerToggle.setDrawerIndicatorEnabled(true);
mDrawerLayout.setDrawerListener(mDrawerToggle);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(R.menu.menu\u hauptfenster,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
int id=item.getItemId();
如果(id==R.id.action_设置){return true;}
返回super.onOptionsItemSelected(项目);
}
}
行:
series = new LineGraphSeries<DataPoint>();
series=newlinegraphseries();
不包含任何数据。
你需要像这样的东西:
series = new LineGraphSeries<DataPoint>(values);
series=新的LineGraphSeries(值);
其中,值可以是整数值数组